输入两个正整数m和n,求其最大公约数和最小公倍数c语言

#include<stdio.h>
main()
{
int a,b,c,n,m;
scanf("%d,%d",&n,&m);
if(m<n)
{
a=m;
m=n;
n=a;
}
c=n*m;
while(n!=0)
{
b=m%n;
m=n;
n=b;
}
printf("公约数%d\n公倍数%d\n",m,c/m);
}
求解while这个循环什么意思有什么作用,求解辗转相除法原理解释

http://baike.baidu.com/view/255668.htm  这是原理。看看就明白了。


简单的想法

设两数为a、b(a>b),求a和b最大公约数(a,b)的步骤如下:用b除a,得a÷b=q......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b÷r1=q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零除数即为(a,b)。


温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-25
while的作用就是辗转相除,得出余数追问

求while循环的流程图

第2个回答  2020-05-15
第3个回答  2016-01-05
while 流程图
根据 xxt9388 道友的启发:

#include <stdio.h>
#include <stdlib.h>
int main()
{
int yu,n,m,max,min;
scanf("%d %d",&n,&m);
max=m;
min=n;
if(m<n)
{
max=n;
min=m;
}
while(yu!=0)
{
yu=max%min;
max=min;
min=yu;
}
printf("%d\n",max);
return 0;
} 不知道可不可以
第4个回答  2015-11-10
帅爆啦,上面的解答

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网