C
来源:互联网 发布:ubuntu软件中心 编辑:程序博客网 时间:2024/06/17 23:29
题意:给出a,b,k,求出k-thgcd,我的理解是第k大的公因子
思路:先求出c=gcd(a,b),显然c为第一大公因子,第k大的公因子即c的第k大因子
复杂度:当a,b=10^12,时c也为10^12,找出全部因子为O(根号n),即(10^6)左右
#include<stdio.h>#include<vector>#include<algorithm>using namespace std;long long gcd(long long a,long long b){return b?gcd(b,a%b):a;}vector<long long>v;int main(){long long a,b,k,t;scanf("%lld",&t);while(t--){v.clear();scanf("%lld%lld%lld",&a,&b,&k);long long c=gcd(a,b);for(long long i=1;i*i<=c;i++){if(c%i == 0) { v.push_back(i); if(i*i != c)//防止放入两个i v.push_back(c/i); } } sort(v.begin(), v.end()); if(k>v.size()) printf("-1\n");else printf("%lld\n",v[v.size()-k]);}return 0;}
阅读全文
0 0
- c
- c
- c
- c
- C
- c
- c
- c
- C+
- c
- C
- c
- c
- c
- C
- C
- c
- C
- 在公司已有的成熟产品(C/S)中新增功能的心得
- 2145: 2017湖南多校第十三场-20170723
- java丶JsonObject 的使用
- cordova media-capture插件
- eclipse运行maven项目报错java.lang.ClassNotFoundException: xxxxxx
- C
- Netty之ChannelOption
- [leetcode]68. Text Justification@Java解题报告
- toJSON时间格式化
- Matlab图形窗口大小的控制 ,plot窗口大小,figure大小,axis设置
- python获取群成员信息
- 用html5自带表单验证 并且用ajax提交的解决方法(附代码)
- BZOJ 1702 [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列 stl--map
- 笔记本中ubuntu系统待机睡眠后无法登陆,只剩光标的解决办法