
数论
二十一画生
嚶其鳴矣求其友聲
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于 A^x = A^(x % Phi(C) + Phi(C)) (mod C) 的若干证明
作者 : AekdyCoin 转自http://hi.baidu.com/aekdycoin/item/e493adc9a7c0870bad092fd9 曾经看过如下一个公式: 以上的公式如果第一次见到,难免有不少疑惑: 为什么可以这么写?限制条件为什么是x >= Phi(C),这个公式为什么正确? 今天突发奇想,在纸上YY以后得到了以下证明(个人证明,如果有问题欢迎提转载 2013-06-06 12:54:35 · 922 阅读 · 0 评论 -
一些数论公式
斯特灵公式是一条用来取n阶乘近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特灵公式十分好用,而且,即使在 n很小的时候,斯特灵公式的取值已经十分准确。 公式为: 以下等式或者不等式均可以用数学归纳法予以证明! 1 + 3 + 5 + ... + (2n - 1) = n^2 1*2 + 2*3 + 3*4 + ... +转载 2013-06-06 12:49:25 · 1440 阅读 · 1 评论 -
欧几里得-GCD及扩展
GCD最大公约数 int gcd(int x,int y) { if(!x || !y) return x>y?x:y; for(int t;t=x%y;x=y,y=t); return y; } 快速GCD int kgcd(int a,int b) { if(a==0) return b; if(b==0) return a;原创 2013-05-17 20:36:10 · 1202 阅读 · 0 评论 -
欧拉函数
递推求欧拉函数phi(i): for(i=1;i<=maxn;i++) phi[i]=i; for(i=2;i<=maxn;i+=2) phi[i]/=2; for(i=3;i<=maxn;i+=2) if(phi[i]==i) { for(j=i;j<=maxn;j+=i) { phi[j]=phi[j]/i*(i-1); } } 单独求欧拉函数p原创 2013-05-17 20:27:41 · 845 阅读 · 0 评论 -
POJ 1845 Sumdiv
// Time 16ms, Memory 328K#include using namespace std; const int size=10000; const int mod=9901; __int64 sum(__int64 p,__int64 n); //递归二分求 (1 + p + p^2 + p^3 +...+ p^n)%mod __int64 po转载 2013-05-19 09:14:21 · 849 阅读 · 0 评论 -
POJ 3273 Monthly Expense
//Time 297ms, Memory 640K#include using namespace std; int n,m; int money[100010]; int judge(int mid) { int i,s=0,group=1; for(i=0;i<n;i++) { if(s+money[i]<=mid) s+=money[i]; else { s=m原创 2013-05-19 16:49:06 · 709 阅读 · 0 评论 -
hdu 1099 Lottery
#include __int64 gcd(__int64 a,__int64 b) { return b==0?a:gcd(b,a%b); } int main() { int i,j,prime[]={2,3,5,7,11,13,17,19},n,t; __int64 s1,s2,m,d,gd; while(scanf("%d",&n)==1) {原创 2013-06-11 18:15:53 · 998 阅读 · 0 评论 -
POJ 2635 The Embarrassed Cryptographer
//Time 907ms, Memory 4480K#include #include using namespace std; int vis[1000010],prime[80000]; int main() { int i,j,k=0,l,a[35],t; char s[105]; memset(vis,0,sizeof(vis)); memset(s,0,sizeof(s));原创 2013-05-19 09:09:11 · 750 阅读 · 0 评论