1以上100以下の自然数a,bの組みを連続して受け取り、それぞれのa,bの組に対してaとbの最小公倍数を出力するプログラムを教えてください 最小公倍数を一つ出力するごとに改行し、

補足

12 5 5 6 -1 10 で 60 30 となるようなプログラムです

C言語関連37閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

なんとかできました ありがとうございます

お礼日時:5/16 16:04

その他の回答(2件)

不適切な内容が含まれている可能性があるため、非表示になっています。

0

#include <stdio.h> int gcd(int a, int b) {     int r = a % b;     while (r != 0) {         a = b;         b = r;         r = a % b;     }     return b; } int lcm(int a, int b) {     return a * b / gcd(a, b); } int main(void) {     int a, b;     while (1) {         scanf("%d %d", &a, &b);         if (a == 0) {             break;         }         printf("%d\n", lcm(a, b));     }     return 0; }

0

> aにあたる数値として0が入力されたらプログラムが停止するものとする > 12 5 > 5 6 > -1 10 > で > 60 > 30 > となるようなプログラムです aにあたる数値が 0でなく -1なのに、なぜ終わる? ていうか、まず、入力云々ではなく、プログラム内で決めた値の最小公倍数を出力するプログラムを考えてごらんよ。 もし、最小公倍数の求め方が分からないなら、プログラム以前に、計算方法を勉強しよう。