'n kartyat kever. Hany keveres utan all visssza? 'Ekvivalens feladat: mi 2 rendje modulo n+1? CLS 'primszamsort general DIM prim(1000) prim(1) = 2 k = 3 n = 1 primjelolt: FOR j = 1 TO n IF INT(k / prim(j)) = k / prim(j) THEN k = k + 1: GOTO primjelolt IF prim(j) > SQR(k) THEN GOTO ujprim NEXT j ujprim: prim(n + 1) = k n = n + 1 k = k + 1 IF n < 1000 THEN GOTO primjelolt 'INPUT "Kartyak szama (paros)"; n n = 2 vissza: IF n > 1024 THEN END DIM tenyezo(20) 'elkesziti n es n+1 primtenyezos felbontasat mm = n: plusz = 0 GOSUB felbont mm = n + 1: plusz = 1 GOSUB felbont 'legyartja fi(n+1)-t fi = 1 p = tenyezo(1) kitevo = 0 FOR i = 1 TO j IF tenyezo(i) = p THEN kitevo = kitevo + 1 ELSE fi = (p - 1) * fi * p ^ (kitevo - 1): p = tenyezo(i): kitevo = 1 o: NEXT i fi = (p - 1) * fi * p ^ (kitevo - 1) LOCATE 24, 70: PRINT fi; 'kiszamolja 2 rendjet eleje: m = n + 1 a = 1 k = 0 kk = 0 ketszerez: k = k + 1 a = a * 2 IF a > m THEN a = a - m IF a = m - 1 THEN kk = 1 IF a = 1 THEN GOTO ki GOTO ketszerez ki: IF kk = 0 THEN LOCATE 24, 75: PRINT "-"; t$ = STR$(fi / k) t$ = ":" + RIGHT$(t$, LEN(t$) - 1) IF fi > k THEN LOCATE 24, 77: PRINT t$; LOCATE 24, 70: PRINT "" IF INT(n / 44) = n / 44 THEN LOCATE 1, 60: INPUT r$ n = n + 2: GOTO vissza END felbont: j = 1 m = mm FOR i = 1 TO 1000 IF m = 1 THEN j = j - 1: GOTO kiir IF prim(i) > SQR(m) THEN tenyezo(j) = m: GOTO kiir j: IF INT(m / prim(i)) = m / prim(i) THEN tenyezo(j) = prim(i): m = m / prim(i): j = j + 1: GOTO j NEXT i kiir: LOCATE 24, 1 + plusz * 35: PRINT mm; FOR jj = 1 TO j LOCATE 24, jj * 3 + 3 + plusz * 35: PRINT tenyezo(jj); NEXT jj RETURN