男子校女体化汉化者UID:c语言问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 20:33:13
#include<stdio.h>
void main()
{
int p,r,n,m,temp;
printf("请输入两个整数n,m:\n");
scanf("%d%d",&n,&m);
if(n<m)
{
temp=n;
n=m;
m=temp;
}
p=n*m;
while (m!=0)
{
r=n%m;
n=m;
m=r;
}
printf("他们的最大公约数为:%d\n",n);
printf("他们的最小公倍数为:%d\n",p/n);
}
while是求最大公约数,但不知道里面的过程是什么意思
就是while花括号里的语句,不明白

这是辗转相除法求最大公约数的程序。
至于什么是辗转相除法,可以看下这篇文章。
http://www.aiqiqi.net/view.asp?id=15873

采用辗转相除法
你多举几个列子,就明白了;列n=18,m=12则p=18*12
经过while得n=6;
所以他们的最大公约数为6;他们的最小公倍数为36

就是求最大公约数的一个算法,数学问题