什么叫辗除法(C语言)

来源:百度知道 编辑:UC知道 时间:2024/05/05 16:03:08
请知道的高手帮我详细解答下,谢谢!!!

假定两个整数分别为num1和num2,最大公约数应当是不超过其中较小数的一个整数.
辗转法的思想是:
用num1除以num2,求出余数resd,如果resd==0,则当前num2就是最大公约数,否则(resd!=0),num1=num2,num2=resd,重复以上过程,直到resd为0为止.

程序如下:
#include<iostream.h>
void main()
{
int num1,num2;
scanf("%d %d",&num1,&num2);
printf("最大公约数为:");
for(;;)
{
int resd;
resd=num1%num2;
if(resd==0) break;
num1=num2; num2=resd;
}
printf("%d\n",num2);
}

辗转相除法,要理解起来有点麻烦,这里数学有严格的证明!你记着那你结论!