//给一个数列a求segma(gcd(ai , aj)*(gcd(ai,aj) - 1))
//运用容斥原理,对于以x为倍数的数的个数为k
//那么以k为最大公约数的个数为f[x] = k^2 - f[2*x] - f[3*x] .....
#include
#include
#include
using namespace std ;
const int mod = 10007 ;...
分类:
其他好文 时间:
2015-06-07 09:41:35
阅读次数:
129
各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例。闲话休提,
言归正转。让我们一起talk C栗子吧!
看官们,上一回中咱们说的是素数的例子,这一回咱们说的例子是:最大公约数。
看官们,最大公约数也叫最大公因数。两个整数中的公约数有好几个,这些公约数中最大的一个就叫作最
大公约数。当然了,这是数学中的一个概念,如果不明白了,可以查阅...
分类:
编程语言 时间:
2015-06-06 18:16:50
阅读次数:
150
各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例。闲话休提,
言归正转。让我们一起talk C栗子吧!
看官们,上一回中咱们说的是最大公约数的例子,这一回咱们说的例子是:最小公倍数。
看官们,最小公倍数和最大公约数类似。两个整数中的公倍数有好多个,这些公约数中最小的一个就叫作
最小公倍数。当然了,这是数学中的一个概念,如果不明白了,...
分类:
编程语言 时间:
2015-06-06 18:15:29
阅读次数:
139
分析:裴蜀定理,a,b互质的充要条件是存在整数x,y使ax+by=1。存在整数x,y,使得ax+by=c,那么c就是a,b的公约数。
假设存在数a ,因为对任意x方程都成立,则有当x=1时f(x)=18+ka;有因为f(x)能被65整除,所以f(x)=n*65。即18+ka=n*65有整数解则说明假设成立。
ax+by = c的方程有整数解的一个充要条件是:c%gcd(a, b) == 0。然...
分类:
其他好文 时间:
2015-06-03 19:39:23
阅读次数:
151
一、数论算法 1.求两数的最大公约数 2.求两数的最小公倍数 3.素数的求法 A.小范围内判断一个数是否为质数: B.判断longint范围内的数是否为素数(包含求50000以内的素数表):二、图论算法1.最小生成树A.Prim算法: B.Kruskal算法:(贪心) 按权值递增顺序删去图中的边,若...
分类:
编程语言 时间:
2015-06-02 21:53:26
阅读次数:
186
直接双重循环判断最大公约数,如果为1 就保存。用一个结构体保存值和对应数据。重载下#include#includeusing namespace std;struct T { int a[3]; double v;// T() {a[1] = '/';}}ans[13000];int n;int g...
分类:
其他好文 时间:
2015-06-02 10:38:31
阅读次数:
122
最大公约数是一个很经典的数学问题,对于这个问题有四种通用的解法,质因数分解法,短除法,不过比较常用的还是辗转相除法,算法出自于欧几里的著作《几何原本》,还有一个就是出自《九章算术》的更相减损法,一般实现的时候都是通过辗转相除法实现,基本的逻辑是这样的:假设把a和b的最大公约数表示成为f(a,b),并...
分类:
编程语言 时间:
2015-05-27 20:41:18
阅读次数:
191
求最小公倍数算法最小公倍数=两整数的乘积÷最大公约数求最大公约数算法辗转相除法有两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数
③ 若c≠0,则a=b,b=c,再回去执行①#include
#include
using namespace std;const float EPS = 0.00001;
int bei(int a,...
分类:
其他好文 时间:
2015-05-26 18:48:18
阅读次数:
221
欧几里德算法
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。
计算原理
定理:gcd(a,b) = gcd(b,a mod b)
证明:a可以表示成a = kb + r ,则r = a mod b
假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r ,因此d是(b,a mod b)的公约数
假设d 是(b,a mod...
分类:
编程语言 时间:
2015-05-26 16:09:29
阅读次数:
146
基本思路就是将两个数相加再减去最大公约数。假设有M个人,于是必须将蛋糕分成M份,如果有N个人就必须分成N份。切蛋糕下刀次数=蛋糕分成的份数,想要蛋糕份数最少,下刀次数就必须最少,假设x=gcd(M,N),我们将蛋糕切成M或者N份的时候,现将蛋糕平均分成x份,然后再切成M份或者N份,由此可知,在切成M...
分类:
其他好文 时间:
2015-05-26 12:37:26
阅读次数:
139