摘要: 由算术基本定理N=p1^e1*p2^e2....ps^es,可知一个素的因子个数为(e1+1)*(e2+1)*...*(es+1)。而N的一人因子必定也有n=p1^k1*p2^k2。。。。*ps^ks的形式。因子个数形式同上。而事实上,即是从ei中选取其中一些来充当k1。那么,所有的因子的个数之和必... 阅读全文
posted @ 2014-09-13 21:32 chenjunjie1994 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 利用x#include #include #include #include #define LL __int64using namespace std;const LL N=10000005;bool isprime[N];int pme[N],np;void initial(){ memset(... 阅读全文
posted @ 2014-09-13 20:41 chenjunjie1994 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 可以容易得知,F=sum(p*phi(n/p))。思路就断在这里了。。。看过别人的,才知道如下:由于gcd(i,n*m)=gcd(i,m)*gcd(i,n),所以gcd为积性函数。而积性函数之和为积性函数。所以F=sum(gcd(i,n))为积性函数。n=p1^k1*p2^k2....所以f(p1^... 阅读全文
posted @ 2014-09-13 15:30 chenjunjie1994 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 和上题一样,不过,更简单了#include #include #include #include #include using namespace std;const int MOD=29;int quick(int a,int b,int m){ int res=1; while(b){ if(... 阅读全文
posted @ 2014-09-13 10:53 chenjunjie1994 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 此题需要注意的一个细节时,若MOD|P或MOD|(P-1),此时不能应用费马小定理求逆元的方法。这时,就要回到求解因子和的初始公式是,即那个等比数列相加的公式。这时,若MOD|P,即,余为1,若MOD|(P-1),即为K个1之和。如此,可求了。#include #include #include #... 阅读全文
posted @ 2014-09-13 09:46 chenjunjie1994 阅读(126) 评论(0) 推荐(0) 编辑