代码改变世界

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 }