51Nod-1011-最大公约数GCD
来源:互联网 发布:java mysql 批处理 编辑:程序博客网 时间:2024/05/22 04:21
输入2个正整数A,B,求A与B的最大公约数。
Input
2个数A,B,中间用空格隔开。(1<= A,B <= 10^9)
Output
输出A与B的最大公约数。
Input示例
30 105
Output示例
15
对于这道题,要说的就是一个辗转相除法,也是欧几里得定理的应用,算法有些难于理解,需要数学很好才能理解,算法的实现上却是十分的简单,可以用递归来实现,当然,也可以用迭代来实现。代码如下(C):
#include <stdio.h>long gcd(long a, long b){ if (!b) { return a; } else { return gcd(b, a % b); } return 0;}int main(int argc, const char * argv[]){ long A, B; scanf("%ld %ld", &A, &B); printf("%ld\n", gcd(A, B)); return 0;}
上面的是递归实现的过程,用迭代实现也很容易,如下(C):
int gcd(int a, int b){ int c = a % b; while(c) { a = b; b = c; c = a % b; } return b;}
都是几行代码即可以实现的,其实不用强行理解,自己代入数据推算几遍即可,多实现几次,就可以记住了,挺好用的一个方法!
0 0
- 51Nod-1011-最大公约数GCD
- 51Nod--1011最大公约数GCD
- 51nod 1011 最大公约数GCD
- 51NOD 1011 最大公约数GCD
- 【51Nod】1011 最大公约数GCD
- 51Nod 1011 最大公约数GCD
- 51Nod 1011 最大公约数GCD
- 51Nod-1011-最大公约数GCD
- 51Nod 1011 最大公约数GCD
- 51Nod 1011 最大公约数GCD
- 51nod 1011 最大公约数GCD
- 51NOD-1011 最大公约数GCD
- 51nod 最大公约数GCD
- 51Nod-1011 最大公约数GCD【欧几里得算法】
- 51nod 1011最大公约数GCD【数论】
- 【51nod】1011 最大公约数GCD - 辗转相除法
- 1011 最大公约数GCD——51Nod(__gcd() )
- 【51nod】1011 最大公约数GCD--辗转相除法
- POJ 3624 Charm Bracelet
- java类和对象通俗理解
- 视频播放以及横竖屏切换保存播放状态
- 字符混编
- Android:PopupWindow简单弹窗改进版
- 51Nod-1011-最大公约数GCD
- MATLAB基础1
- httpClient-Post-Get代码
- (array.count - 1 )的坑
- HDU 5157 Harry and magic string
- 关于广度优先搜索的理解
- CF 271 Beautiful Year
- Android 静态广播和动态广播接收顺序
- 数据结构 二叉树