3392 - 习题7-1.1 求最大公约数

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 12 MB

写一个函数,求两个整数的最大公约数。通过主函数调用这个函数,并输出结果。

两个整数通过键盘输入。

题目输入

空格分隔的2个整数

题目输出

输入两数的最大公约数,单独占一行。

输入/输出样例

输入格式

8 12

输出格式

4

C语言解答

#include <stdio.h>
#include <string.h>
void fun(int num1,int num2)
{   
	
	int temp; 
	if(num1<num2)  
	{       
		temp=num1;   
	num1=num2;   
	num2=temp;   
	}   
	while(num2!=0)
	{        
		temp=num1%num2;   
		num1=num2;    
		num2=temp;  
	}    
	printf("%d\n",num1);
}
int main(void)
{   
	int num1,num2; 
	scanf("%d %d",&num1,&num2);  
	fun(num1,num2);  
	return 0;
}

C++解答

#include<stdio.h>
int main()
{
  int dgy(int,int);
  int l,x,z;
  scanf("%d%d",&l,&x);
  z=dgy(l,x);
  printf("%d\n",z);
  return 0;
}

int dgy(int l,int x)
{int q,w;
 if(x>l)
 {q=l;l=x;x=q;}
 while((w=l%x)!=0)
 {
   l=x;
   x=w;
 }
 return(x);
}