hdu 5019 gcd
来源:互联网 发布:mac os x sierrad安装 编辑:程序博客网 时间:2024/06/16 05:27
求第k大的gcd ,一定是gcd的因数,可以利用sqrt(n)的算法求出,然后再进行排序即可o(1)的查询
注意i要用LL,要不然会溢出,wrong了无数次
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>using namespace std;typedef __int64 LL;LL gcd ( LL a , LL b ){ if ( b == 0 ) return a; return gcd ( b , a%b );}int main ( ){ int t; LL a , b , c; scanf ( "%d" , &t ); vector<LL> v; while ( t-- ) { v.clear ( ); scanf ( "%I64d%I64d%I64d" , &a , &b , &c ); LL temp = gcd ( a , b ); for ( LL i = 1 ; i*i <= temp ; ++i ) { if ( temp%i == 0 ) { v.push_back ( i ); if ( temp != i*i ) v.push_back ( temp/i ); } } sort ( v.begin() , v.end()); if ( c <= v.size( ) ) printf ( "%I64d\n" , v[v.size()-c] ); else printf ( "-1\n" ); } return 0;}
0 0
- hdu 5019 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
- GCD HDU
- GCD HDU
- GCD HDU
- GCD HDU
- GCD HDU
- GCD HDU
- GCD HDU
- GCD HDU
- GCD HDU
- GCD HDU
- poj2632Crashing Robots
- Gentoo使用官方LiveDVD启动项Grub2主题
- (三十六)利用AFNetworking进行JSON数据解析
- Linux获取线程id的方法学习
- [BZOJ1150][CTSC2007]数据备份Backup
- hdu 5019 gcd
- Script to show Active Distributed Transactions
- oracle数据库导入导出命令!
- LQB - 啤酒和饮料
- HDOJ 题目2512 一卡通大冒险(斯特林第二类数)
- 有信心,坚持往前走
- TCP状态迁移图浅析
- maven常见问题问答
- mybatis CRUD 联表查询 缓存