1. paizaラーニングトップ
  2. レベルアップ問題集
  3. ユークリッドの互除法メニュー(言語選択)
  4. 問題一覧 Swift編
  5. 分数 Swift編

ユークリッドの互除法メニューのサムネイル
分数 Swift編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

演算子 cal と、整数 A , B , C , D が与えられるので、



の計算結果を、これ以上約分できない分数



の形式にした際の n , d の値を求めてください。
ただし、答えが整数 X (0 を含む) の時は n = X , d = 1 と出力してください。
また、答えが負となる場合は n を負の数、 d を正の数とすることで負の分数を表してください。

入力される値

A B cal C D


・1 行で、整数 A , B , 行われる演算の演算子 cal, 整数 C , D が半角スペース区切りで与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

n d


・演算の答えをこれ以上約分できない分数で表したときの分子 n , 分母 d を半角スペース区切りで出力してください。
・答えが負になる場合、n を負の数、d を正の数とすることで負の数を表現してください。
・また、出力の末尾には改行を入れてください。

条件

・-100,000 ≦ A, C ≦ 100,000
・1 ≦ B, D ≦ 100,000
・A , C ≠ 0
・cal は '+' , '-' , '*' , '/' のいずれかであり、それぞれ足し算・引き算・掛け算・割り算を表します。
・cal が / のとき D ≠ 0

入力例1

1 2 + 1 5

出力例1

7 10

入力例2

2 3 * -9 2

出力例2

-3 1

問題一覧へ戻る

ページの先頭へ戻る