Elementare Zahlentheorie: Blatt 2
2016-04-30Aufgabe 1
u = Mod(2222222222222298763, 111111111111111111111112) print u^(-1) * 1111111111111111111 print (16 + 1000) % 24, "Uhr" print ["Mo", "Di", "Mit", "Do", "Fr", "Sa", "So"][(2 + 1041) % 7]
Aufgabe 2
for a in range(1,23): for b in range(1,23): # %2d teilt Sage mit, dass wir eine ganze Zahl ausgeben möchten, die # genau 2 Zeichen lang ist. Bei einstelligen Zahlen wird mit # Leerzeichen aufgefüllt. Das darauffolgende Prozentzeichen sagt, dass # der Parameter rechts für %2d eingesetzt werden soll. Das Komma am # Ende bewirkt, dass Sage den sonst üblichen Zeilenumbruch unterdrückt. print "%2c" % (a*b % 23), # Damit das ganze eine Tabelle wird brauchen wir aber doch noch ein paar # Zeilenumbrüche. print ""
Aufgabe 3
Diese Aufgabe kann natürlich mit dem Chinesischen Restsatz gelöst werden. In Sage geht dies folgendermaßen:
x = crt([1,1,1,1,1,0], [2..7]); print x # Überprüfen wir noch kurz das Ergebnis: assert(x%2==1 and x%3==1 and x%4==1 and x%5==1 and x%6==1 and x%7==0)