こんにちは。
python3で以下の問題を解いています。
正の整数 a,b を入力し、a と b の最大公約数と最小公倍数を出力するプログラムを作成して下さい。
Input
複数のデータセットが与えられます。
データセットは1行に a と b が1つのスペースで区切られて与えられます。入力の最後まで処理して下さい。
Constraints
0 < a,b ≤ 2,000,000,000
a と b の最小公倍数は 2,000,000,000 を超えない。
データセットの数は 50 を超えない。
Output
各データセットに対して、最大公約数と最小公倍数を1つのスペースで区切って1行に出力して下さい。
Sample Input
8 6 50000000 30000000
Output for the Sample Input
2 24 10000000 150000000
この問題で計算式などは間違ってないと思うのですが、標準入力を終了条件が明記されていない状態で複数回受け取るようにするにはどうしたらいいのでしょうか?
以下自分で書いたコードです。
Python3
1import math 2a, b = map(int, input().split()) 3 4# 最小公倍数 5def lcm(a, b): 6 return (a*b) // math.gcd(a ,b) 7# 出力 8print("{} {}".format(math.gcd(a, b), lcm(a, b))) 9
今の状態だと、一行しか入力を受け取れません。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/22 11:29
2018/04/22 11:35