搜索
首页 电脑/网络 程序设计 C/C++

在C中求M和N的最大公约数?

要源代码再加注释哟

全部回答

2007-12-16

0 0

    这是我的看法,请采纳。 用展转相除法 在我们编程中用的最多方法就是展转相除法了,展转相除法是古希腊求两个正整数的最大公约数的也叫欧几里德算法,用较大的数除以较小的数,结果的余数和被除数构成新的一对数,继续做上面的除法,直到大数被小数求尽,这个较小的数就是最大公约数。
    以求288和123的最大公约数为例,操作如下: (288,123)--(42,123)--(42,39)--(3,39)则3就是他们的最大公约数。
     程序如下: #include int main() { int a, b, c; printf("Please input two integers: "); //输入两个整型数 scanf("%d %d", &a, &b); //把大的数放前面,方便后面的循环 if(a<b) { c = a; a = b; b = c; } //循环,知道两个数相除余数为零 while(a % b != 0) { //求余数 c = a % b; a = b; b = c; } //打印出小的数,就是最大公约数 printf("%d", b); //程序返回 return 0; }。

2007-12-16

172 0

这年头,又是作业吧?如果不是学生求作业,一般总会说一下自己的思路的。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
程序设计
C/C++
数据库
VB
JAVA相关
C#/.NET
VC++
汇编语言
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报