zzulioj 1063: 最大公约与最小公倍

题目描述
输入两个正整数,输出其最大公约数和最小公倍数。
输入
输入两个正整数n和m(n,m<=1000000)。输入保证最终结果在int范围内。
输出
输出两个整数,用空格隔开。表示m和n的最大公约数和最小公倍数。
样例输入 Copy
4 6
样例输出 Copy
2 12
提示
注意运算过程中的溢出问题

#include<stdio.h>
int main()
{
    
    
	int n, m, i, x, a, b;
	int sum;
	scanf("%d%d",&n,&m);
	a=n;b=m;
	for(i=1; ;i++)
	{
    
    
		x=m%n;
		if(x==0)
		  {
    
    
		  printf("%d ",n);
		  break;
        	}
		  else
		  {
    
    
		  	m=n;
		  	n=x;
		   } 
	}
	sum=a/n*b;
	printf("%d\n",sum);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_53024529/article/details/113174424