1. 程式人生 > >【程式16】 題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。

【程式16】 題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
/*
【程式16】
題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。
【分析】
最大公約數:輾除法
最小公倍數:兩數之積除以最大公約數
*/
int main(int argc, int **argv){
	int reminder = 0, num1 = 0, num2 = 0;
	int co_div = 0, co_mul = 0;
	int temp = 0;
	printf("請輸入兩個數\n");
	scanf("%d %d", &num1, &num2);
	if (num1 < num2)
	{
		temp = num1;
		num1 = num2;
		num2 = temp;
	}
	int n = num1 * num2;
	reminder = num1 % num2;
	while (reminder != 0)
	{
		num1 = num2;
		num2 = reminder;
		reminder = num1 % num2;
	}
	co_div = num2;
	co_mul = n / co_div;
	printf("co_div = %d, co_mul = %d", co_div, co_mul);
	return 0;
}