hdu 5019 Revenge of GCD(BestCoder Round #10)
来源:互联网 发布:淘宝10元包邮网址 编辑:程序博客网 时间:2024/06/05 19:13
Revenge of GCD
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 668 Accepted Submission(s): 195
Problem Description
In mathematics, the greatest common divisor (gcd), also known as the greatest common factor (gcf), highest common factor (hcf), or greatest common measure (gcm), of two or more integers (when at least one of them is not zero), is the largest positive integer that divides the numbers without a remainder.
---Wikipedia
Today, GCD takes revenge on you. You have to figure out the k-th GCD of X and Y.
---Wikipedia
Today, GCD takes revenge on you. You have to figure out the k-th GCD of X and Y.
Input
The first line contains a single integer T, indicating the number of test cases.
Each test case only contains three integers X, Y and K.
[Technical Specification]
1. 1 <= T <= 100
2. 1 <= X, Y, K <= 1 000 000 000 000
Each test case only contains three integers X, Y and K.
[Technical Specification]
1. 1 <= T <= 100
2. 1 <= X, Y, K <= 1 000 000 000 000
Output
For each test case, output the k-th GCD of X and Y. If no such integer exists, output -1.
Sample Input
32 3 12 3 28 16 3
Sample Output
1-12
求第k大公约数。
求出最大公约数,枚举它的所有因子就行了。
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <algorithm>using namespace std;vector<long long> s;long long gcd(long long a,long long b){ return b==0?a:gcd(b,a%b);}int main(){ long long x,y,k; int t; scanf("%d",&t); while(t--) { s.clear(); scanf("%I64d%I64d%I64d",&x,&y,&k); long long u=gcd(x,y); for(long long i=1;i*i<=u;i++) { if(u%i==0) { s.push_back(i); if(i*i!=u) s.push_back(u/i); } } if(s.size()<k) { printf("-1\n"); } else { sort(s.begin(),s.end()); printf("%I64d\n",s[s.size()-k]); } } return 0;}
0 0
- hdu 5019 Revenge of GCD(BestCoder Round #10)
- hdu 5018 Revenge of Fibonacci(BestCoder Round #10)
- 【BestCoder】 HDOJ 5019 Revenge of GCD
- hdu 5019 Revenge of GCD
- hdu 5019 Revenge of GCD
- HDU 5019 - Revenge of GCD
- hdu 5019 Revenge of GCD
- HDU 5019Revenge of GCD
- HDU 5019 Revenge of GCD
- HDU 5019 Revenge of GCD
- HDU-5086-Revenge of Segment Tree (BestCoder Round #16)
- hdu 5086 Revenge of Segment Tree(BestCoder Round #16)
- hdu 5088 Revenge of Nim II(BestCoder Round #16)
- hdu 5086 Revenge of Segment Tree(BestCoder Round #16)
- hdu 5087 Revenge of LIS II(BestCoder Round #16)
- HDU 5019 Revenge of GCD (暴力)
- HDU 5019 Revenge of GCD(数学)
- HDU-#5019 Revenge of GCD(枚举)
- 有关实习、毕业论文及软件开发和测试的关系等问题
- PAT 1008. 数组元素循环右移问题
- MODBUS RTU通信校验码的代码:
- innerHTML、innerText和outerHTML、outerText的区别
- Eclipse Maven install build 无任何作用
- hdu 5019 Revenge of GCD(BestCoder Round #10)
- android 创建工程的 package-info.java
- java解析json文件
- aspx调用js中函数方法
- 十道海量数据处理面试题与十个方法大总结
- UVA - 10976 Fractions Again?!
- android不想覆盖原来apk的方法
- 张孝祥高新技术部分,jdk1.5新特性枚举的概念及应用
- PAT 1004. 成绩排名