C
来源:互联网 发布:2017最新拼图软件 编辑:程序博客网 时间:2024/06/06 21:38
点击打开链接
GCD(最大公约数)
最大公约数指某几个整数共有因子中最大的一个。
GCD即Greatest Common Divisor.
例如,12和30的公约数有:1、2、3、6,其中6就是12和30的最大公约数。
代码:迭代实现:int Gcd(int a, int b){ while(b != 0) { int r = b; b = a % b; a = r; } return a;}递归实现:int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}
LCM(最小公倍数)
和最大公约数(gcd)的关系:gcd(a, b)×lcm(a, b) = ab。
代码:
int lcm(int a,int b){return a/gcd(a,b)*a;}
有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b。若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c。
26 212 4
48
题意:根据最大公约数与最小公倍数的关系,已知一个数a与最大公约数,求得另一个数(最小值)。
题解:设另一个数为最大公约数的的整数倍(从2开始)得到n,再判断n与a的最大公约数为b,直到出现第一个满足条件的m(最小值)。
代码:
#include<cstdio>#include<iostream>using namespace std;int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}int main(){int i,j,n,m,c,k,t;scanf("%d",&j);for(i=1;i<=j;i++) {scanf("%d%d",&n,&m);c=m*2;while(gcd(c,n)!=m)c+=m;printf("%d\n",c);}return 0;}
阅读全文
0 0
- c
- c
- c
- c
- C
- c
- c
- c
- C+
- c
- C
- c
- c
- c
- C
- C
- c
- C
- SQL Server配置管理器中服务介绍
- Zigbee协议网络相关的东西(1)
- [LeetCode] 357. Count Numbers with Unique Digits
- Atitit.团队文化建设------影响组织的的一些原理 法则 定理 效应 p826.v4
- 通信数据分析平台(一)
- C
- bzoj 3990: [SDOI2015]排序 dfs
- Html / CSS常见问题 解决方案
- ubuntu16.04 安装GeForce1080驱动+CUDA8.0
- ubuntu1604常用快捷键
- 上传多图发布 微信小程序
- matlab问题:输出结果出现分数,且分子分母都是很长数字
- java获得url的端口号
- 【EasyUI】——页面加载闪屏问题