3-A2. Fraction
入力から整数を受け取り、を計算して、存在するなら分数n/dのような文字列して表示しよう。
結果を約分する必要はないものとします。
入力/出力例
例1
入力
1 2 3 4出力
10/8例2
入力
1 3 5 7出力
22/21例3
入力
1 0 1 0出力
0除算は定義されないため、は存在しません。
ヒント
ヒント1
今回は約分が必要ないので、最小公倍数を求める必要はありません。素直に掛け算で分母を求めてしまってよいでしょう。
解答例
解答例1
クリックして展開
cpp
#include <iostream>
using namespace std;
int main() {
int a, b, c ,d;
cin >> a >> b >> c >> d;
// 分母が0でないなら
if (b != 0 && d != 0) {
// 分母を計算 (今回は約分が不要なため、最小公倍数でなくともよい)
int denominator = b * d;
// 分子を計算
int numerator = a * d + c * b;
// 結果を出力
cout << numerator << "/" << denominator << endl;
}
}なお、約分をしたい場合はstd::gcdなどを使って最小公倍数を得ることができます。