for(j=1;j<n+1;j++){ x[j] = (int)pow(pri_ele,j-1)%p; printf("%d : ",x[j]); for(s=1;s<i_n+1;s++){ printf("%d ",(int)pow(x[j],s)); } printf("\n"); } printf("\n");
上記コードを実行した結果(他の部分は省略しております。n=6,pri_ele=3,P=7,i_n=3)
1 : 1 1 1 3 : 3 9 27 2 : 2 4 8 6 : 6 36 216 4 : 4 16 64 5 : 5 24 124
求めている出力
1 : 1 1 1 3 : 3 9 27 2 : 2 4 8 6 : 6 36 216 4 : 4 16 64 5 : 5 25 125
5の部分だけ値がおかしくなってしまいます。どうすればよいでしょうか?どなたか教えてください。
pow関数を無理やりintに直してるせいなのでしょうか?
回答3件
あなたの回答
tips
プレビュー