#29085: 費馬小定理


C0079 (Wings)

學校 : 國立臺灣大學
編號 : 157595
來源 : [223.140.116.124]
最後登入時間 :
2023-08-03 20:29:59
d636. 大爆炸bomb -- jack1 | From: [61.228.204.181] | 發表日期 : 2022-01-27 23:45

根據費馬小定理

因為10007是質數,所以a^10006將與1同餘

所以寫個程式碼計算((a%10007)^(b%10006))%10007即可

如下:

#include<stdio.h>

#include<stdlib.h>

 

int main(void)

{

int n,m;

scanf("%d%d",&n,&m);

int a;

n%=10007;

a=n;

m%=10006;

for (int i=0; i<m-1; i++)

{

n*=a;

n%=10007;

printf("%d",n);

return 0;

 } 

 
#29106: Re:費馬小定理


fire5386 (becaidorz)

學校 : 國立清華大學
編號 : 115822
來源 : [140.114.253.147]
最後登入時間 :
2024-10-03 15:39:22
d636. 大爆炸bomb -- jack1 | From: [114.25.108.51] | 發表日期 : 2022-01-29 16:57

b其實int就存的下了 直接用快速冪就可以了 對於unsigned long long存不下的b才需要用到費馬小定理來取同餘

 
ZeroJudge Forum