解题思路:
辗转相除法的核心就是不断的让两个数做除法运算。其原理基于两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。
假设两数为 x,y。
先令 z = x % y ;
之后 y 赋给 x 即令 x = y ;
再将 z 赋给 y 即令 y = z;
辗转相减,其终止条件为:y 等于0时
注意事项:
参考代码:
#include "stdafx.h"
#include <stdio.h>
int main(int argc, char* argv[])
{
int x,y,z,m,n;
int i = 1;
scanf("%d%d",&m,&n);
x = m;
y = n;
while (y!=0) // 辗转相除法
{
z = x % y;
x = y;
y = z;
}
printf("%d\n",x);
while ((i%m!=0) || (i%n!=0))
{
i++;
}
printf("%d\n",i);
return 0;
}
0.0分
0 人评分
震宇大神的杀毒软件 (C++代码)浏览:1125 |
字符逆序 (C语言代码)浏览:618 |
出圈】指针malloc版浏览:358 |
小九九 (C语言描述,不看要求真坑爹)浏览:986 |
简单的a+b (C语言代码)浏览:665 |
上车人数 (C语言代码)浏览:719 |
JAM计数法 (C语言代码)浏览:674 |
字符删除 (C语言代码)浏览:728 |
1250题解浏览:561 |
采药 (C语言代码)浏览:925 |