函数---求两个整数的最大公约数
时间: 1ms 内存:128M
描述:
编写函数gcd实现求两个整型参数的最大公约数,并将该值作为函数结果返回。
在main函数中调用gcd函数,并输出结果。
在以下程序的基础上,添加gcd函数的定义,使程序能够正确执行,提交时,只需要提交gcd函数的定义代码即可。
#include <iostream>
using namespace std;int gcd(int m,int n); //求最大公约数函数声明
int main()
{
int a,b;
cin>>a>>b;
cout<<gcd(a,b)<<endl;
return 0;
}
输入:
两个整数
输出:
这两个整数的最大公约数
示例输入:
225 125
示例输出:
25
提示:
参考答案(内存最优[920]):
#include <stdio.h>
int main()
{
int m,n,i,z,max1=1,mm,x;
scanf("%d%d",&m,&n);
mm=m<n?m:n;
for(i=1;i<mm;i++)
{
z=m%i;
x=n%i;
if(max1<i&&z==0&&x==0)max1=i;
}
printf("%d",max1);
return 0;
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
int gcd(int m,int n); //求最大公约数函数声明
int main()
{
int a,b;
cin>>a>>b;
cout<<gcd(a,b)<<endl;
return 0;
}
int gcd(int m,int n) //求最大公约数函数定义
{
int r;
//使用辗转相除法进行最大公约数的求解
do
{
r=m%n;
m=n;
n=r;
}while(r!=0);
return m; //返回最大公约数
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。
