|
2以上の自然数nに対して、
その数が素数なら、10倍して1を足す。 合成数なら、最小の素因数で割る。
という操作を行い新しい自然数を作る。
このとき、任意の自然数から始めて、この操作を繰り返し行うと、
最終的には必ず43になる。
考察
合成数は、素数になる。
43以下の素数
5 → 17 → 19 → 13 → ┐
↓
3 → 31 → ┐
↓
41 → 23 → 11 → ┐
↓
2 → 7 → 29 → 37 → 43 → 43
43より大きい素数は、自分より小さい素数になる。
(終り)
OPTION ARITHMETIC RATIONAL !多桁の整数
FOR i=2 TO 1000
IF prmdiv(i)=i THEN !素数なら
LET N=i
LET C=0 !回数
DO
LET C=C+1
LET T=prmdiv(N)
IF T=N THEN !素数
PRINT " ";STR$(N);
LET N=10*N+1
ELSE
PRINT " *";STR$(N);
LET N=N/T
END IF
LOOP UNTIL prmdiv(N)=N AND (N<=43 OR N<i)
PRINT N
!PRINT C
END IF
NEXT i
END
!UBASIC.LIB 抜粋
EXTERNAL FUNCTION prmdiv(n) !1より大きな最小の約数
OPTION ARITHMETIC RATIONAL !多桁の整数
IF n<>INT(n) THEN !整数以外なら
PRINT "prmdiv関数でパラメータが不適当です。"
STOP
ELSEIF n=0 THEN
LET prmdiv=0
ELSE
LET n=ABS(n) !絶対値をとる
IF MOD(n,2)=0 THEN !2の倍数
LET prmdiv=2
ELSEIF MOD(n,3)=0 THEN !3の倍数
LET prmdiv=3
ELSE
FOR i=5 TO INTSQR(n) STEP 6
IF MOD(n,i)=0 THEN !5,11,17,23,29,…
LET prmdiv=i
EXIT FUNCTION
ELSEIF MOD(n,i+2)=0 THEN !7,13,19,25,31,…
LET prmdiv=i+2
EXIT FUNCTION
END IF !+1,+3,+5は2の倍数(偶数)、+1,+4は3の倍数、+5は5の倍数
NEXT i
LET prmdiv=n !その数自身
END IF
END IF
END FUNCTION
実行結果
2 *21 7
3 31
5 *51 17
7 71 *711 *237 79 *791 113 *1131 *377 29
11 *111 37
13 131 *1311 *437 23
17 *171 *57 19
19 191 *1911 *637 *91 13
23 *231 *77 11
29 *291 97 971 *9711 *3237 *1079 83 *831 277 *2771 163 *1631 233 *2331 *777 *259 37
31 311 *3111 *1037 61 *611 47 *471 157 1571 *15711 5237 *52371 *17457 *5819 *529 23
37 *371 53 *531 *177 59 *591 197 *1971 *657 *219 73 *731 43
41 *411 137 *1371 457 *4571 653 *6531 *2177 311 *3111 *1037 61 *611 47 *471 157 1571 *15711 5237 *52371 *17457 *5819 *529 23
43 431 *4311 *1437 479 *4791 1597 15971 *159711 *53237 383 *3831 1277 *12771 *4257 *1419 *473 43
47 *471 157 1571 *15711 5237 *52371 *17457 *5819 *529 23
53 *531 *177 59 *591 197 *1971 *657 *219 73 *731 43
59 *591 197 *1971 *657 *219 73 *731 43
61 *611 47
67 *671 61
71 *711 *237 79 *791 113 *1131 *377 29
73 *731 43
79 *791 113 *1131 *377 29
83 *831 277 *2771 163 *1631 233 *2331 *777 *259 37
89 *891 *297 *99 *33 11
97 971 *9711 *3237 *1079 83
:
:
|
|