Fizika, matek, informatika érettségi

Home Fizika Excel Access A weboldalról

58. Rendes számok

4. szint

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)