1. 程式人生 > >輸入兩個正整數m和n,求其最大公約數和最小公倍數 C/C++

輸入兩個正整數m和n,求其最大公約數和最小公倍數 C/C++

題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。
1.程式分析:利用輾除法。

2.程式原始碼:

#include <stdio.h>

int main()
{
	int a,b,num1,num2,temp;
	printf("請輸入2個正整數:\n");
	scanf("%d %d",&num1,&num2);//若是"scanf("%d,%d",&num1,&num2);",輸入兩個數字時用逗號隔開

	if(num1<=0||num2<=0)
	{

		printf("抱歉,您輸入的數不在範圍內\n");
	}
	else
	{
		if(num1<num2)/*交換兩個數,使大數放在num1上*/
		{
			temp=num1;
			num1=num2;
			num2=temp;
		}
		a=num1;
		b=num2;
		while(b)/*利用輾除法,直到b為0為止*/
		{
			temp=a%b;
			a=b;
			b=temp;
		}
		printf("最大公約數:%d\n",a);
		printf("最小公倍數:%d\n",num1*num2/a);
	}
}