ゲームを作りたい人のための ソースコード集

私がその日作った短めのソースを簡単な解説とともに載せていきます
ゲーム制作初心者にとって参考になるかもしれないソースが多いです


<< aのn乗を素数で割った余り(周期性) | main | コントロール自動サイズ調整 >>



aのn乗を任意の数で割った余り(繰り返し自乗法)

繰り返し自乗法を用いて余りを求めるプログラムです

再帰関数を用いて実装されています

 

 

#module
#defcfunc repeatsquaring double n, double p, double m
    if p=0:return 1
    if p¥2=0{
        t=repeatsquaring(n, p/2, m)
        return t*t¥m
    }
    return n*repeatsquaring(n, p-1, m)
#global
n=13    ;乗数
p=300    ;指数
m=33    ;除数
mes""+n+" の "+p+" 乗≡ "+strf("%d",repeatsquaring(n,p,m))+" (mod "+m+" )"
;確認用
ans=1
repeat p
    ans*n
    ans¥m
loop
mes""+n+" の "+p+" 乗≡ "+ans+" (mod "+m+" )"

0
    posted by higashijugem 22:11comments(0)|-|


    この記事に対するコメント