CodeForces 75C(最大公约数)
来源:互联网 发布:达州网络人才网 编辑:程序博客网 时间:2024/05/18 16:17
CodeForces 75C(最大公约数)
- 题目链接
- 题目大意:给a和b,求n次a和b在low和high之间的最大公约数
- 解题思路:先求出a和b的最大公约数c,a和b的公约数一定是c的因数,枚举c的因数存在一个数组里,将数组排序求第一个大于high的因数的前一个因数,将其与low比较求第一个大于或者等于某数的时候要想到upper_bound 和low_bound
- 代码
#include<stdio.h>#include<string.h>#include<algorithm>#include<math.h>using namespace std;int ans[1000000];int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}int main(){ int a,b,c,i,j,n,low,high,cnt=0; scanf("%d%d%d",&a,&b,&n); c=gcd(a,b); for(i=1;i*i<=c;i++) { if(c%i==0) { ans[cnt++]=i; ans[cnt++]=c/i; } } sort(ans,ans+cnt); for(i=0;i<n;i++) { int t; scanf("%d%d",&low,&high); t=upper_bound(ans,ans+cnt,high)-ans-1; if(ans[t]<low) printf("-1\n"); else printf("%d\n",ans[t]); } return 0;}
阅读全文
0 0
- CodeForces 75C(最大公约数)
- C最大公约数
- c++(最大公约数)
- Codeforces 389A (最大公约数)
- Codeforces Round #430 (Div. 2) C. Ilya And The Tree(dfs+最大公约数+因子+树)
- C语言求最大公约数
- c语言求最大公约数
- C 求最大公约数最小公倍数
- C语言精髓:最大公约数
- 最大公约数 最小公倍数(C)
- 【c语言】最大公约数
- C语言计算最大公约数
- 【C语言】求解最大公约数
- 求最大公约数(c++)
- 【C入门向】最大公约数
- c语言求最大公约数
- 最大公约数&&最小公倍数C语言
- C语言计算 最大公约数
- Ruby操作MongoDB(进阶十)--文本搜索text search
- 字符组训练--潜伏者
- Controller的两种写法
- 可以免费自学编程的12个网站
- Ruby操作MongoDB(进阶十一)--空间信息搜索Geospatial Search
- CodeForces 75C(最大公约数)
- glibc源码分析之utime系列函数
- CSDN-markdown基本语法说明
- 1061: 顺序输出各位数字
- Nginx 启动或重启失败原因总结及解决办法
- Angular2 创建与使用Observable
- 数据结构实验之二叉树二:遍历二叉树
- MyBatis的foreach语句详解
- 2017多校6 1003 Inversion