チャレンジ
2つの入力の整数を取るプログラムや関数を書いて、iそしてj、それらの最大公約数を出力します。ユークリッドアルゴリズムを使用して計算されます(以下を参照)。
入力
入力は、スペースで区切られた文字列表現としてi、jまたは2つの別個の整数として取得できます。整数は10,000以下であると想定できます。また、入力整数は互いに素ではないと想定できます。
ユークリッドの内訳
との間の大きい数はi、jできるだけ小さい数で除算されます。次に、残りが追加されます。このプロセスは、残りがになるまで、残りと前の数で繰り返され0ます。
たとえば、入力が1599 650次の場合:
1599 = (650 * 2) + 299
650 = (299 * 2) + 52
299 = (52 * 5) + 39
52 = (39 * 1) + 13
39 = (13 * 3) + 0
最後の数、13は2つの入力整数の最大公約数です。次のように視覚化できます。

出力
出力は上記の形式の内訳で、その後に改行とGCDが続く必要があります。任意のメディアを介して出力できます。
例
入力
18 27
50 20
447 501
9894 2628
出力
27 = (18 * 1) + 9
18 = (9 * 2) + 0
9
50 = (20 * 2) + 10
20 = (10 * 2) + 0
10
501 = (447 * 1) + 54
447 = (54 * 8) + 15
54 = (15 * 3) + 9
15 = (9 * 1) + 6
9 = (6 * 1) + 3
6 = (3 * 2) + 0
3
9894 = (2628 * 3) + 2010
2628 = (2010 * 1) + 618
2010 = (618 * 3) + 156
618 = (156 * 3) + 150
156 = (150 * 1) + 6
150 = (6 * 25) + 0
6
注:出力は上にあるため、間隔を空ける必要はありません。間隔は明確にするためだけです。括弧が必要です。
ボーナス
出力の間隔が上記の場合、スコアに-10%のボーナスを追加できます。