
数论
文章平均质量分 56
keshuqi
C++开发师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浅谈数论(一) 最大公因数与最小公倍数
#include using namespace std; int Eu(int a,int b) { if(!b)return a; else return Eu(b,a%b); } int main() { int n,m; scanf("%d%d",&n,&m); printf("%d\n",Eu(n,m)); return 0; }原创 2016-07-09 14:21:04 · 836 阅读 · 0 评论 -
浅谈数论(二)进阶素数筛法
6N+-1法 算法描述:任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)显然,当N≥1时,6N,6N+2,6N+3,6N+4都不是素数,只有形如6N+1和6N+5的自然数有可能是素数。所以,除了2和3之外, 所有的素数都可以表示成6N±1的形式(N为自然数)。 根据上述分析,我们可以构造另一面筛子,只对形如6原创 2016-07-09 13:00:18 · 969 阅读 · 0 评论 -
浅谈数论(三)水仙花数
什么是水仙花数 水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。 附:其他位数的自幂数名字 一位自幂数:独身数 两位自幂数:没有 三位自幂数:水仙花数 四位自幂数:四叶玫瑰数 五位自幂数:五角星数 六位自幂数:六合数 七位自幂数:北斗七星数 八位自幂数:八仙数 九位自幂数:九九重阳数 十位自幂数:十全十美数 常见水仙花数 水仙花数又称阿姆斯特朗数。原创 2016-07-13 14:26:37 · 950 阅读 · 0 评论 -
浅谈数论(四)扩展欧几里得算法与乘法逆元
扩展欧几里德算法 基本算法:对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 x,y ,使得 gcd(a,b)=ax+by。 证明:设 a>b。 1,显然当 b=0,gcd(a,b)=a。此时 x=1,y=0; 2,ab!=0 时 设 ax1+by1=gcd(a,b); bx2+(a mod b)y2=gcd(b,a mo转载 2016-07-15 11:28:02 · 619 阅读 · 0 评论 -
浅谈数论(五)高斯消元法
参考kuangbin的代码,加上一些自己的注释,code如下: #include #include #include #include #include using namespace std; const int MAXN=50; int a[MAXN][MAXN];//增广矩阵 int x[MAXN];//解集 bool free_x[MAXN];//标记是否是不确定的变元,即自由元原创 2016-07-15 23:03:21 · 1047 阅读 · 0 评论