最大公约数和最小公倍数
2012-07-28 15:04
260 查看
模版 求两个数的最大公约数
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
hdu 2503
hdu 1713
hdu 2504
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
hdu 2503
复制代码 #include<stdio.h> int gcd(int a,int b) { return b==0?a:gcd(b,a%b); } int main() { int t,a,b,c,d,n,m,k; scanf("%d",&t); while(t--) { scanf("%d%d%d%d",&a,&b,&c,&d); n=gcd(b,d); m=a*d/n+c*b/n; k=gcd(m,b*d/n); printf("%d %d\n",m/k,b*d/n/k); } return 0; } |
复制代码 #include<stdio.h> __int64 gcd(__int64 a,__int64 b) { return b==0?a:gcd(b,a%b); } int main() { __int64 t,a,b,c,d,n,k,a1,a2,a3; scanf("%I64d",&t); while(t--) { scanf("%I64d%*c%I64d %I64d%*c%I64d",&a,&b,&c,&d); n=gcd(a*d,b*c); k=gcd(a*b*c*d,b*d*n); if(n*b*d==k) printf("%I64d\n",a*b*c*d/k); else printf("%I64d/%I64d\n",a*b*c*d/k,n*b*d/k); } return 0; } |
复制代码 #include<stdio.h> int gcd(int a,int b) { return b==0?a:gcd(b,a%b); } int main() { int t,a,b,c,d,n,m,k,i; scanf("%d",&t); while(t--) { scanf("%d%d",&a,&b); c=b+1; while(1) { if(gcd(a,c)==b) break; c++; } printf("%d\n",c); } return 0; } |
相关文章推荐
- Code[VS] 1012 最小公倍数与最大公约数
- 最大公约数和最小公倍数
- Java编写最大公约数和最小公倍数
- 辗转相除法 相减法 穷举法 求最大公约和最小公倍数
- 数学问题——最大公约数和最小公倍数(辗转相除法)
- 最大公约数和最小公倍数
- Java-辗转相除法(求最小公倍数与最大公约数)
- [复习]欧几里得 最大公约数与最小公倍数
- 求最大公约数--欧几里德算法 及 最小公倍数
- 最大公约数和最小公倍数
- 最大公约数和最小公倍数
- C语言笔记最大公约数和最小公倍数
- 最大公约数 最小公倍数
- JAVA_最大公约数与最小公倍数
- 最值、最大公约数、最小公倍数
- 调用函数求任意两个整数的最小公倍数和最大公约数
- 最大公约数和最小公倍数问题
- 一步一步写算法(之 最大公约数、最小公倍数)
- Java sdut acm 1131 CC++训练1---最大公约数与最小公倍数
- [OpenJudge-NOI]最大公约数与最小公倍数