Egy természetes szám valódi értékét a különböző számrendszerekben más-más számjegyekkel tudjuk leírni. Például a 47 (tízes számrendszerben) a hármas számrendszerben az 12023, míg a négyes számrendszerben a 2334 alakban írható.
Adott két, különböző számrendszerben megadott szám a számjegyeivel: 1. szám: 110a10101 2. szám: 223313020003
Nem tudjuk, hogy melyik számrendszerekben vannak megadva a számok, de ugyanazt a tízes számrendszerbeli számot jelentik. A számrendszerek alapszáma 2 és 16 közötti (beleértve a határokat is). A 10-nél nagyobb számjegyek jelölése a szokásos
10→a; 11→b; 12→c; 13→d; 14→e; 15→f.
Feladatok:
a) Melyik 10-es számrendszerbeli számot jelöli mindkét megadott szám, ha a megfelelő számrendszerekben értelmezzük őket?
b) Mennyi az 1. szám számrendszerének alapszáma, ha a 10-es számrendszerbeli értéke ugyanannyi, mint a 2. számé, ha azt is a megfelelő számrendszerben értelmezzük?
c) Mennyi a 2. szám számrendszerének alapszáma, ha a 10-es számrendszerbeli értéke ugyanannyi, mint az 1. számé, ha azt is a megfelelő számrendszerben értelmezzük?
for alap in range(4,17): if alap>10: ertek = 0 hatvany = 1 for i1 in range(len(szam1)): szjegy = szamjegyek.index(szam1[len(szam1)-i1-1]) ertek += hatvany * szjegy #print('alap',alap, 'hatvány',hatvany,'érték',ertek,'számjegy',szjegy) hatvany *= alap ertek1.append([alap,ertek]) if alap>3: ertek = 0 hatvany = 1 for i1 in range(len(szam2)): szjegy = szamjegyek.index(szam2[len(szam2)-i1-1]) ertek += hatvany * szjegy #print('alap',alap, 'hatvány',hatvany,'érték',ertek,'számjegy',szjegy) hatvany *= alap ertek2.append([alap,ertek])
#print(ertek1)
#print(ertek2)
for i1 in range(len(ertek1)): # megnézzük az egyező értékeket for i2 in range(len(ertek2)): if ertek1[i1][1] == ertek2[i2][1]: index1 = i1 index2 = i2
print('a)',ertek1[index1][1])
print('b)',ertek1[index1][0])
print('c)',ertek2[index2][0])