函数---求两个整数的最大公约数

函数---求两个整数的最大公约数

时间: 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; //返回最大公约数
 }

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注