黑马程序员技术交流社区
标题:
求两个数的最大公约数
[打印本页]
作者:
huanglinwang
时间:
2016-5-24 18:57
标题:
求两个数的最大公约数
超级简单
#include <stdio.h>
int main(int argc, const char * argv[]) {
//定义两个变量
int a = 0 ,b = 0;
//输入变量
printf("请输入两个数,然后求她们的最大公约数");
//接收变量
scanf("%d%d",&a,&b);
//算法
while(1){
if (a > b) {
a -= b ;
}else if(a < b){
int t = 0;
t = a ;
a = b - a ;
b = t ;
}else if(a == b){
printf("%d",a);
return 0;
}
}
return 0;
}
作者:
huangyihan1988
时间:
2016-5-24 20:16
哇哇哇哇哇哇哇哇哇哇哇
作者:
2528
时间:
2016-5-24 20:23
/*
求两个数 m 和 n 的最大公约数
*/
#include <stdio.h>
int main() {
int m, n ;
int temp ;
printf("请输入两个数:");
scanf("%d%d",&m,&n);
printf("m = %d,n = %d\n",m,n);
if (m > n) { //m中存放的是较小数 ,n存放的是较大的数
temp = n ;
n = m ;
m = temp;
}
int div ; //保存最大公约数
// 最大公约数肯定是小于或等于 m,n中最小者
for (div = m; div > 0; div--) {
//当首次同时满足,m,n整除 div 的时候,循环终止,此时div就是m,n的最大公约数。
if (m % div == 0 && n % div == 0) {
break;
}
}
printf("m 和 n 的最大公约数是:%d\n",div);
return 0 ;
}
复制代码
作者:
2528
时间:
2016-5-24 20:24
提供另一种方法。
作者:
vivi342863
时间:
2016-5-24 22:26
看看楼主和评论挺涨知识~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2