|
問題
自然数nに対し、次の性質をもつ自然数dの総和をG(n)と定義します。
nをdで割った余りが1に等しい。
例えば、G(13)=27です。13を 2,3,4,6,12で割った余りはいずれも1だからです。
同様に、G(100)=155,G(102)=101,G(30031)=96767,G(62122012)=101219327となることが示せます。
G(n)を求めるプログラムを書いてください。
LET N=13 !102 !30031 !62122012
LET G=0
FOR D=2 TO N-1
IF MOD(N,D)=1 THEN LET G=G+D
NEXT D
PRINT G
!その2
LET N=13
LET M=N-1
LET G=M !約数1を除いて、そのペアのみ
FOR D=2 TO SQR(M)
IF MOD(M,D)=0 THEN !n-1は割り切れる
LET G=G+(D+M/D)
IF D=M/D THEN LET G=G-D !平方数なら
END IF
NEXT D
PRINT G
END
|
|