Nevezzük rendes számoknak azokat a pozitív egészeket, amelyekben minden számjegy értéke nagyobb annál, mint ahányadik helyiértéken (balról jobbra számolva) megtalálható a számjegy. Például a 256 rendes szám, mivel az első helyen van egy 2-es, a második helyen van egy 5-ös és a harmadik helyen van egy 6-os. A 2538 viszont nem rendes szám, mert a harmadik helyen egy 3-as áll.
Készítsünk programot, amely megadja az N-edik rendes számot (1≤N≤100000). A program a standard bemenetről olvassa be N értékét, majd írja ki az N-edik rendes számot a képernyőre.
Minta:
Adja meg N értékét: 100
A(z) 100. rendes szám: 289
n = int(input('Adja meg N értékét: '))
i = 1
talalat = 0
eredmeny = 0
while talalat < n: i_str = str(i) szamjegyek = [int(szj) for szj in i_str] # a számjegyek jok = [szamjegyek[i1] for i1 in range(len(szamjegyek)) if szamjegyek[i1]>i1+1] # csak a jó számjegyek #print(i,jok) if len(szamjegyek) == len(jok): eredmeny = talalat += 1 #print('vizsgálat alatt:',i,'\tlegutolsó ('+str(talalat)+'.) rendes szám:',eredmeny) i += 1
print('A(z)',str(n)+'. rendes szám:',eredmeny)