如何解释最大公约数编程

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:08:56
#include <iostream.h>
int fp(int x,int y)
{
int i,k;
k=(x<y?x:y);
for(i=k;i>1;i--)
if(y%i==0&&x%i==0) break;
return i;
}
void main()
{
int a=30,b=40;
int i=fp(a,b);
cout<<i<<endl;
}

他是先把小的数找出来
把小的数递减到2 用for(i=k;i>1;i--)
循环的时候遇到能够“同时被除尽”的数i 满足(y%i==0&&x%i==0)
就是最大公约数咯

就是最大公约数的定义啊

也可以用辗转相除法!