この問題は、二つの所定の正の整数であり、最大公約数の最小公倍数を必要とします。
入力フォーマット:
入力ラインは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){もしブレーク;アクションを実行}ながら条件ループを終了します