杭电2504
2015-04-16 19:34
127 查看
又见GCD
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 12292 Accepted Submission(s): 5227
Problem Description
有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b。若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c。
Input
第一行输入一个n,表示有n组测试数据,接下来的n行,每行输入两个正整数a,b。
Output
输出对应的c,每组测试数据占一行。
Sample Input
2
6 2
12 4
Sample Output
4
8
运用到了辗转相除法
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 12292 Accepted Submission(s): 5227
Problem Description
有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b。若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c。
Input
第一行输入一个n,表示有n组测试数据,接下来的n行,每行输入两个正整数a,b。
Output
输出对应的c,每组测试数据占一行。
Sample Input
2
6 2
12 4
Sample Output
4
8
运用到了辗转相除法
#include <iostream> using namespace std; int max(int x,int y) { return x == 0 ? y : max(y%x , x);//辗转相除 } int main() { int n,a,b,c,i; cin>>n; while (n--) { c=0; cin>>a>>b; for(i=2;;i++) { if(max(a,i)==b && i != b)//i从2开始一直循环加,到能够满足与a的最大公约数为b,且不等于b的i { c = i; break; } } cout<<c<<endl; } return 0; }
相关文章推荐
- 杭电-oj】-2504-又见GCD
- 杭电ACM 2503 a/b + c/d&&&&杭电ACM 2504又见GCD--(递归运用)----20140725
- 杭电ACM--HDU-2053a/b+c/d和HDU-2504又见gcd
- 【杭电 2504】又见GCD
- 最大公约数的最小倍数 【杭电-2504】 附题
- 【杭电】[2504]又见GCD
- 杭电 hdu 2504
- 【杭电oj】2504 - 又见GCD(GCD)
- 又见GCD(杭电2504)(gcd)
- 【杭电2504】又见GCD
- 杭电2504 gcd的用法,(a%b==0)&&(i%b==0)&&(i!=b)&&(gcd(a,i)==b)可以只写为(i!=b)&&(gcd(a,i)==b))
- 杭电-2504 又见GCD
- 杭电2504 又见GCD
- 杭电acm题目分类
- 杭电ACM1218——Blurred Vision
- 杭电刘春英老师写给计算机软件专业的大学生
- hdu1290 献给杭电五十周年校庆的礼物
- [水题]杭电1092,对比
- 杭电1686-KMP模板题
- 杭电ACM 1015 很笨的暴力解法