25: 最小公倍數


25 最小公倍數

作者: xxx 時間限制: 1S 章節: 循環

問題描述 :
給定兩個正整數,計算這兩個數的最小公倍數

輸入說明 :
輸入包含T組測試數據,每組只有一行,包括兩個不大於1000的正整數.

輸出說明 :
對於每個測試用例,給出這兩個數的最小公倍數,每個實例輸出一行。

輸入范例 :
3
200 50
9 11
18 21
輸出范例 :
200
99
126
代碼:

#include <stdio.h>
#include <string.h>
int main()
{
	int n, m, k, max1,min1,min;
	int hash[1000] = { 0 };
	scanf("%d", &k);
	for (int kl = 0; kl < k; kl++)
	{
		scanf("%d%d", &n, &m);
		if (m>=n)
		{
			max1 = m; min1 = n;
		}
		else
		{
			min1 = m; max1 = n;
		}
		if (max1%min1 == 0)
		{
			printf("%d\n", max1);
		}
		else
		{
			for (int i = 2; i < min1; i++)
			{
				if (min1%i == 0)
				{
                                        min = min1;
					while (min%i == 0&&min!=0)
					{
						hash[i]++;
						min /= i;
					}
					while(max1%i == 0&& (hash[i]>0))
					{
						max1 /= i;
						hash[i]--;
					}
				}
			}
			printf("%d\n", min1*max1);
		}
         memset(hash,0,sizeof(hash));
	}
	return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM