输入两个正整数m和n,求其最大公约数和最小公倍数c语言 20
#include<stdio.h>main(){inta,b,c,n,m;scanf("%d,%d",&n,&m);if(m<n){a=m;m=n;n=a;}c=n*m;...
#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这个循环什么意思有什么作用,求解辗转相除法原理解释 展开
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这个循环什么意思有什么作用,求解辗转相除法原理解释 展开
5个回答
展开全部
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)。
2013-07-25
展开全部
while的作用就是辗转相除,得出余数
追问
求while循环的流程图
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
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;
} 不知道可不可以
根据 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;
} 不知道可不可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询