编程求取两个整数的最大公约数.欧几里德算法
2014-07-18 18:49
225 查看
/* 编程求取两个整数的最大公约数。 Enter two integers: 12 28 Greatest common divisor: 4 提示:分别用两个变量m、n存储两个整数。如果n为0,那么停止操作, m中的值就是最大公约数,否则计算m除以n的余数,把n保存到m中,并 把余数保存到n中。然后重复上述过程,每次都先判定n是否为0。 */ #include <stdio.h> int main(void) { int a, b, i, t; scanf("%d%d", &a, &b); if(a > b){ t = a; a = b; b = t; }//确保a是最小值 for(i = a; i >= 2; i--){ if(a%i == 0 && b%i == 0){ printf("最大公约是:%d\n", i); break; } } if(i == 1){ printf("两数只能同时被1整除\n"); } return 0; } /* 16 32 最大公约是:16 akaedu@akaedu-G41MT-D3:~/lin/715_hanshu$ ./zdgys 56 99 两数只能同时被1整除 akaedu@akaedu-G41MT-D3:~/lin/715_hanshu$ ./zdgys 25 85 最大公约是:5 */<pre name="code" class="cpp"> //欧几里德算法 #include <stdio.h> int gcd(int a, int b) { if(b == 0) return a; return gcd(b, a%b); } int main(void) { int a, b; printf("enter two number:\n"); scanf("%d%d", &a, &b); printf("最大公约数为:%d\n", gcd(a, b)); return 0; } /* enter two number: 16 8 最大公约数为:8 */http://www.cnblogs.com/frog112111/archive/2012/08/19/2646012.html
相关文章推荐
- 求两个整数最大公约数的欧几里德算法和求幂运算程序
- C#实现用欧几里德算法、连续整数检测算法、公因数算法求两个非负整数的最大公约数
- 欧几里德算法(辗转相除法):求两个整数最大公约数
- 第一次编程作业-求两个整数的最大公约数
- Java基础编程之输入两个正整数m和n,求其最大公约数和最小公倍数。
- 编程:求两个整数的最大公约数
- 欧几里德算法(辗转相除法)计算两个整数的最大公约数
- C语言_输入两个正整数m和n,求其最大公约数和最小公倍数。
- 输入两个正整数,求它们的最大公约数和最小公倍数.
- 欧几里得求两个整数最大公约数算法的汇编递归实现代码
- 求两个整数最大公约数
- 求两个正整数的 最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- VB学习第十一周求取输入两个整数的最大公约数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 算法实现求两个整数的最大公约数!
- 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
- 求两个整数的最大公约数
- 求两个整数的最大公约数
- 求两个整数的最大公约数,算法原理辗转相除法 原理: GCD (x,y) = GCD(y,x%y)