欧几里得算法求两个非负整数的最大公因子

来源:互联网 发布:淘宝运营月度计划表 编辑:程序博客网 时间:2024/04/27 20:01

一.欧几里得算法:

 

1.计算两个整数的最大公因子的欧几里得算法描述:

  输入:两个非负整数a,b,且a>=b;

  输出:a,b的最大公因子;

  1).当b!=0时,做如下操作:

     1.1 令r=a%b,a=b,b=r。

  2).返回(a);

2.代码如下

#include<stdio.h>
void input(int &a,int &b)
{
 int data1,data2;
 scanf("%d,%d",&a,&b);
}
int Euclid_gcd (int max,int min)
{
 int r,temp;
 if(max<min)
 {
  temp=max;
  max=min;
  min=temp;
 }
 while(min!=0)
 {
  r=max%min;
  max=min;
  min=r;
 }
 return max;
}
void main()
{
 int a,b;
 printf("请输入两个非负整数数:");
 input(a,b);
 printf("两数的最大公约数是:gcd(%d,%d)=%d/n",a,b,Euclid_gcd(a,b));
}
/*运行结果:
请输入两个非负整数数:3458,4864
两数的最大公约数是:gcd(3458,4864)=38

请输入两个非负整数数:4864,3458
两数的最大公约数是:gcd(4864,3458)=38

请输入两个非负整数数:12,16
两数的最大公约数是:gcd(12,16)=4
*/

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击