1. 程式人生 > >藍橋杯 演算法訓練 ALGO-148 5-1最小公倍數

藍橋杯 演算法訓練 ALGO-148 5-1最小公倍數

演算法訓練 5-1最小公倍數
時間限制:1.0s 記憶體限制:256.0MB
提交此題
問題描述
  編寫一函式lcm,求兩個正整數的最小公倍數。
樣例輸入
3 5
樣例輸出
15
與上面的樣例輸入對應的輸出。
例:
資料規模和約定
  輸入資料中每一個數的範圍。
  例:兩個數都小於65536。

分析:求最小公倍數的步驟:
(1)找到兩個數的最大公因數
(2)其中一個數除以最大公因數再和另一個數相乘,即最小公倍數。

#include <iostream>
using namespace std;

int fun(int a, int b)
{
	for(int i = (a < b ? a : b); i > 0; i--)
	{
		if(a % i == 0 && b % i == 0)
		{
			return a*b/i;
		}
	}
	return 0;
}

int main()
{
	int a, b;
	cin >> a >> b;
	cout << fun(a, b);
	return 0;
}