程序依次为相减法,辗转相除法,穷举法。
#include<iostream>
using namespace std;
int math(int a,int b)
{
int c;
while(a!=0)
{
while(a<b)
{
c=a;
a=b;
b=c;
}
a=a-b;
}
a=b;
return a;
}
int main()
{
int a,b;
cout<<"请输入要求最大公约数的两个整数: ";
cin>>a>>b;
a=math(a,b);
cout<<"您要求的最大公约数为: "<<a<<endl;
return 0;
}
#include<iostream>
using namespace std;
int math(int a,int b)
{
int c;
if(a<b)
{ c=b;
b=a;
a=c;
}
while(b!=0)
{
if(a%b==0)
{ a=b;
break;
}
else
{
c=a%b;
a=b;
b=c;
}
}
return b;
}
int main()
{
int a,b;
cout<<"请输入要求最大公约数的两个数: ";
cin>>a>>b;
a=math(a,b);
cout<<"最大公约数为: "<<a<<endl;
return 0;
}
`
#include<stdio.h>
int main()
{
int math(int a,int b);
int a,b;
printf("请输入两个要求最大公约数的整数:");
scanf("%d%d",&a,&b);
printf("最大公约数为:%d\n",math(a,b));
return 0;
}
int math(int a,int b)
{
int i,n;
if(a<b)
{c=b;
b=a;
a=c;
}
for(i=1;i<=b;i++)
{
if((a%i==0)&&(b%i==0))
n=i;
}
return n;
}