1. 程式人生 > >7-6 最大公約數和最小公倍數(15 分)

7-6 最大公約數和最小公倍數(15 分)

7-6 最大公約數和最小公倍數(15 分)

本題要求兩個給定正整數的最大公約數和最小公倍數。

輸入格式:

輸入在一行中給出兩個正整數M和N(1000)。

輸出格式:

在一行中順序輸出M和N的最大公約數和最小公倍數,兩數字間以1空格分隔。

輸入樣例:

511 292

輸出樣例:

73 2044
#include<stdio.h>
main()
{
	int m, n;
	int m_cup, n_cup, ret;
	
	scanf("%d %d", &m, &n);
	if (m > 0 && n >0)
	{
		m_cup = m;
		n_cup = n;
		ret = m_cup % n_cup;
		while (ret != 0)
		{
			m_cup = n_cup;
			n_cup = ret;
			ret = m_cup % n_cup;
		}
		printf("%d", n_cup);
		printf(" %d", m * n / n_cup);
	}

}


作者: 張彤彧 單位: 浙江大學 時間限制: 400ms 記憶體限制: 64MB 程式碼長度限制: 16KB