CodeForces 75C Modified GCD
来源:互联网 发布:javascript var 编辑:程序博客网 时间:2024/05/17 21:56
题意:给你两个数,再给你一个范围,问是否在这个范围里存在这两个数的公约数。
思路:先用求出这两个数的最大公约数,然后求这个最大公约数的约数,再看范围内是否存在。
刚开始编译器出点故障一直没输出。。害的我半天不知道哪出问题了。无语。。。。。。
欧几里德算法的几种代码实现
递归法:
int gcd(int a,int b) { if(b==0) return a; return gcd(b,a%b); }优化后
int gcd(int a,int b){ return b ? gcd(b,a%b) : a;
}迭代形式
int Gcd(int a, int b) { while(b != 0) { int r = b; b = a % b; a = r; } return a; }
#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>using namespace std;int gcd(int a,int b){int m;while(a){m=b%a;b=a;a=m; } return b; } int main(){int a,b,n,i,j,l,k,num,low,high,ab[1100];while(scanf("%d%d",&a,&b)!=EOF){int ans=gcd(a,b);k=0; for(i=1;i*i<=ans;i++) { if(ans%i==0) { ab[k++]=i; if(i*i!=ans) { ab[k++]=ans/i; } } } sort(ab,ab+k); scanf("%d",&n); while(n--) { int flag=0; scanf("%d%d",&low,&high); for(i=k-1;i>=0;i--) { if(ab[i]<=high&&ab[i]>=low) { printf("%d\n",ab[i]); flag=1; break; } } if(flag==0) printf("-1\n"); }}return 0;}
0 0
- CodeForces 75C Modified GCD
- Codeforces 75 C Modified GCD
- CodeForces 75C Modified GCD 【二分+数论】
- codeforces 75C C. Modified GCD(二分)
- cf 75c Modified GCD
- 【CodeForces】75C - Modified GCD(快速求公约数,upper_bound函数)
- 文章标题 codeforces 75C:Modified GCD (二分+最大公因数)
- C. Modified GCD(二分加搜索约数)
- Modified GCD
- 【Codeforces 798 C】+ gcd
- Codeforces 583C GCD Table 【gcd + 构造】
- Codeforces 583c GCD Table
- codeforces 583C GCD Table
- codeforces 803C Maximal GCD
- 【Codeforces 803 C. Maximal GCD】
- codeforces 892C Pride(gcd)
- Codeforces 798C Mike and gcd problem gcd+贪心
- CodeForces 16C Monitor(gcd,水题)
- 不同浏览器兼容问题—— input 添加required属性 firefox下输入框为红色 +禁止中文输入
- iOS 隐藏系统tabBar及需要push两层时候tabBar的隐藏方法
- 01背包第k大价值hdu2639
- 把Data数据存储为文件
- QT 相关资源(书籍、论坛、博客等。。。)整理...
- CodeForces 75C Modified GCD
- 基于syslink的双核通信实例
- javaBean的写法
- 常量对象与常量成员函数
- presentViewController: 如何不覆盖原先的 viewController界面
- bash_常用bash命令
- spring学习
- Mahout安装与配置,及简单k-means实例
- solr安装