【PTA】7-26と最大公約数(15分)の最小公倍数

この問題は、二つの所定の正の整数であり、最大公約数の最小公倍数を必要とします。

入力フォーマット:
入力ラインは2つの正の整数MとN(≤1000)で与えられます。

出力フォーマット:
順次出力MとNと二つの数字の間のスペースで区切られた行の最大公約数の最小公倍数、。

サンプル入力:
511 292

出力サンプル:
732044

#include<stdio.h>
int main()
{
	int i, x, y;//变量x为最大公约数,y为最小公倍数
	int m, n;
	scanf("%d %d", &m, &n);
	//默认m大于n的值,方便后面计算
	y = (m > n) ? m : n;
	//m与n为倍数关系
	if (m % n == 0) {
		x = n;
		y = m;
	}
	//m与n不为倍数关系
	else {
		//求取最大公因数
		for ( i = 1; i < n; i++){
			if (m%i == 0 && n%i == 0) {
				x = i;
			}
		}
		//求取最小公倍数
		while (1) {
			if (y%m == 0 && y%n == 0)break;
			++y;
		}
	}
	printf("%d %d", x, y);
}

知識:(1){もしブレーク;アクションを実行}ながら条件ループを終了します

公開された48元の記事 ウォンの賞賛0 ビュー316

おすすめ

転載: blog.csdn.net/weixin_46399138/article/details/105384826