約数の和へ

 投稿者:山中和義  投稿日:2016年 4月 7日(木)20時50分19秒
  問題
自然数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

 

戻る