HDU 2504 又见GCD (最大公因数+暴力)

题意:是中文题。

析:a和c的最大公因数是b,也就是说,a和c除了b就没有公因数了。再说就是互质了。

所以先把a除以b,然后一个暴力n,满足gcd(a, n) =1,就结束,就是n倍的c。

代码如下:

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <map>
#include <cctype>
#include <cmath>

using namespace std;
typedef long long LL;
const int maxn = 1000000;
int a[maxn];

int gcd(int a, int b){  return b == 0 ? a : gcd(b, a%b);  }

int main(){
    int T, a, b;  cin >> T;
    while(T--){
        scanf("%d %d", &a, &b);
        a /= b;
        for(int i = 2; ; ++i)
            if(1 == gcd(i, a)) { printf("%d\n", b * i);  break;  }
    }
    return 0;
}
时间: 2024-10-21 03:43:15

HDU 2504 又见GCD (最大公因数+暴力)的相关文章

hdu 2504 又见Gcd

有时候觉得自己也挺天才滴~O(∩_∩)O~,小小鼓励下.(虽然是道大水题吧....囧) 1 #include<stdio.h> 2 int Gcd(int m,int n) 3 { 4 return m==0?n:Gcd(n%m,m); 5 } 6 int main() 7 { 8 int n; 9 scanf("%d",&n); 10 while(n--) 11 { 12 int a,b,i; 13 scanf("%d%d",&a,&a

HDU 2504 又见GCD(最大公约数与最小公倍数变形题)

又见GCD Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 18480    Accepted Submission(s): 7708 Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c. Input 第一行输入一个n

hdoj 2504 又见GCD 【GCD判定】

思路:一个一个的找,因为c不等于b 且b是(a, c)的最大公约数, 所以c是b的整数倍, 每找到一个c就判断与 a的最大公约数是不是b,不是的话,就继续 刚开始的时候 居然把gcd非递归形式忘了...也没想用递归形式.. 又见GCD Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10151    Accepted Submissio

HDU 2054 又见GCD(水题??)

又见GCD Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15221    Accepted Submission(s): 6397 Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c. Input 第一行输入一个n

HDU ACM 2504 又见GCD

分析:水题,但要注意当c取2*b时,a可能被c整除,此时a继续加b继续判断. #include<iostream> using namespace std; int gcd(int a,int b) { int r; while(b) { r=a%b; a=b; b=r; } return a; } int get(int a,int b) { int c; c=2*b; while(gcd(c,a)!=b) c+=b; return c; } int main() { int n,a,b;

又见GCD(杭电2504)(gcd)

又见GCD Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11122    Accepted Submission(s): 4696 Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c. Input 第一行输入一个n

(hdu 2.1.4)又见GCD(求最大公约数GCD的变化题)

题目: 又见GCD Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2685 Accepted Submission(s): 1327   Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c. Input 第一行输入一个n,

HDU 4910 Problem about GCD

Problem about GCD Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 470    Accepted Submission(s): 77 Problem Description Given integer m. Find multiplication of all 1<=a<=m such gcd(a, m)=1 (cop

hdu 5641 King&#39;s Phone(暴力模拟题)

Problem Description In a military parade, the King sees lots of new things, including an Andriod Phone. He becomes interested in the pattern lock screen. The pattern interface is a 3×3 square lattice, the three points in the first line are labeled as