Sicily/2501. 算算式
2011-11-12 22:23 Min·zc 阅读(280) 评论(0) 编辑 收藏 举报
很裸的一个欧拉函数的应用
因为9901时一个素数,所哟他的欧拉函数值为9900.根据欧拉定理可知
所以只需要计算数列的前9900项就可以了,后面就是前面的重复而已。
01 #include<iostream>
02 #include<memory.h>
03 usingnamespacestd;
04 intmain()
05 {
06 int n,k;
07 inttb[10000];
08 while(cin>>n>>k)
09 {
10 intans=0;
11 inttl=0;
12 memset(tb,0,sizeof(tb));
13 tb[0]=1;
14 for(inti=1;i<9901;i++)
15 {
16 tb[i]=n*tb[i-1]%9901;
17 tl+=tb[i];
18 tl%=9901;
19 }
20 intcir=k/9900;
21 inted=k%9900;
22 ans=tl*cir%9901;
23 for(inti=1;i<=ed;i++)
24 ans=(ans+tb[i])%9901;
25 cout<<ans<<endl;
26 }
27 }
02 #include<memory.h>
03 usingnamespacestd;
04 intmain()
05 {
06 int n,k;
07 inttb[10000];
08 while(cin>>n>>k)
09 {
10 intans=0;
11 inttl=0;
12 memset(tb,0,sizeof(tb));
13 tb[0]=1;
14 for(inti=1;i<9901;i++)
15 {
16 tb[i]=n*tb[i-1]%9901;
17 tl+=tb[i];
18 tl%=9901;
19 }
20 intcir=k/9900;
21 inted=k%9900;
22 ans=tl*cir%9901;
23 for(inti=1;i<=ed;i++)
24 ans=(ans+tb[i])%9901;
25 cout<<ans<<endl;
26 }
27 }