int gcd(int n,int m)//n>m
{
//最大公约数
int r;
while(m)
{
r = n%m;
n = m;
m = r;
}
return n;
}
int kgcd(int a,int b)
{
if(!a) return b;
if(!b) retu...
分类:
其他好文 时间:
2014-07-19 23:37:19
阅读次数:
309
这次的题目很经典。
1、Hermite Polynomials
2、求两个整数最大公约数
3、ATOI
4、可变参数列表的使用
具体的题目在这里:
题目请见 http://download.csdn.net/download/wangpegasus/5701765
1、
int hermite(int n, int x)
{
if (n < 1)
{
return 1;...
分类:
其他好文 时间:
2014-07-18 22:05:09
阅读次数:
234
【程序员编程艺术】学习记录2:左旋转字符串之循环移位法
GCD算法:(辗转相除法/欧几里得算法)
gcd是求最大公约数的算法,作为TAOCP第一个算法
gcd算法流程:
首先给定两个整数m,n(m大于等于n)如果小于则直接交换再处理
①求余数 r=m%n
②假如r=0,算法结束,n即为所求
否则,重新令m
STL中rotate算法:
对于数组移位问题,可以采用下面方法:...
分类:
其他好文 时间:
2014-07-18 16:38:35
阅读次数:
243
基本算法 这些都是非常基本的的算法,希望所有学习的人都能理解! 1.数论算法 求两数的最大公约数 function gcd(a,b:integer):integer; begin if b=0 then gcd:=a else gcd:=gcd (b,a mod b); end ; 求两数的最小公倍...
分类:
其他好文 时间:
2014-07-16 19:35:42
阅读次数:
665
最小公倍数=两个数的乘积/两个数的最大公约数。
接上篇求最大公约数方法,最小公倍数的代码如下:
public class LCM {
//最小公倍数=两数乘积/最大公约数
public static int lcm(int m, int n){
return m*n/GCD.gcd(m,n);
}
public static void main(String[] args){
...
分类:
其他好文 时间:
2014-07-16 09:39:09
阅读次数:
256
1 import java.util.Scanner; 2 3 /** 4 * Created by Administrator on 14-5-20. 5 */ 6 public class Euclid { 7 public static void main(String[] a...
分类:
其他好文 时间:
2014-07-15 00:46:14
阅读次数:
257
#includeusing namespace std;int main(){ int g,l,t; cin>>t; while(t--){ cin>>g>>l; if(l%g==0)//最大公约数一定是最小公倍数的因子 cout ...
分类:
其他好文 时间:
2014-07-13 21:34:46
阅读次数:
176
求1~n内所有数对(x,y),gcd(x,y)=质数,的对数。
思路:用f[n]求出,含n的对数,最后用sum【n】求和。
对于gcd(x,y)=a(设x
他们乘积的f[i*a]值包括i的欧拉函数值。时间复杂度(n*质数个数)
#include
#include
using namespace std;
const int maxx=100010;
int mindiv[maxx+5],p...
分类:
其他好文 时间:
2014-07-13 16:45:50
阅读次数:
177
efficient method to solve gcd problem
分类:
其他好文 时间:
2014-07-09 18:25:30
阅读次数:
269
找到规律之后本题就是水题了,不过找规律也不太容易的,证明这个规律成立更加不容易。
本题就是求step和mod如果GCD(最大公约数位1)那么就是Good Choice,否则为Bad Choice
为什么这个结论成立呢?
因为当GCD(step, mod) == 1的时候,那么第一次得到序列:x0, x0 + step, x0 + step…… 那么mod之后,必然下一次重复出现比x0大的数必...
分类:
其他好文 时间:
2014-07-08 19:16:21
阅读次数:
227