チャレンジ:
入力に基づいて、次の6つの算術表のいずれかの「整数桁」を出力します。-
加算(+
);
-減算(-
);
-乗算(*
);
-部門(/
);
-べき乗(^
);
-モジュロ演算(%
)。
ルール:
- 正確に次のいずれかである算術演算のオペランドのすべての結果:私は「整数の数字」として定義何をすべきか
0
、1
、2
、3
、4
、5
、6
、7
、8
、9
。この手段は、あなたは除外し、すべての結果10
以上のすべての結果-1
以下であり、すべての非整数の結果を。 算術結果の計算方法:最初に最上位の数字を使用し、次に左の桁のオペランドを使用します。6つすべての出力で一貫している限り、この逆も可能です(つまり、のy/x
代わりにx/y
)。(あなたが使用を許可されていないのでy-x
とx/y
同じ答えインチ)†- 0のテストケースによる除算(除算およびモジュロ演算テーブル)については何も出力しません
- edge-caseについては何も出力しません
0^0
。
出力:
したがって、以下を出力します(テーブル形式は多少柔軟です(以下を参照)。したがって、行はオプションであり、主にテストケースを読みやすくするために追加されます)。
添加:
+ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 1 2 3 4 5 6 7 8 9
1 | 1 2 3 4 5 6 7 8 9
2 | 2 3 4 5 6 7 8 9
3 | 3 4 5 6 7 8 9
4 | 4 5 6 7 8 9
5 | 5 6 7 8 9
6 | 6 7 8 9
7 | 7 8 9
8 | 8 9
9 | 9
減算:
- | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 1 2 3 4 5 6 7 8 9
1 | 0 1 2 3 4 5 6 7 8
2 | 0 1 2 3 4 5 6 7
3 | 0 1 2 3 4 5 6
4 | 0 1 2 3 4 5
5 | 0 1 2 3 4
6 | 0 1 2 3
7 | 0 1 2
8 | 0 1
9 | 0
乗算:
* | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 0 0 0 0 0 0 0 0 0
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 2 4 6 8
3 | 0 3 6 9
4 | 0 4 8
5 | 0 5
6 | 0 6
7 | 0 7
8 | 0 8
9 | 0 9
分割:
/ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 |
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 1 2 3 4
3 | 0 1 2 3
4 | 0 1 2
5 | 0 1
6 | 0 1
7 | 0 1
8 | 0 1
9 | 0 1
べき乗:
^ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 1 1 1 1 1 1 1 1 1
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 1 4 9
3 | 0 1 8
4 | 0 1
5 | 0 1
6 | 0 1
7 | 0 1
8 | 0 1
9 | 0 1
モジュロ:
% | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 |
1 | 0 0 0 0 0 0 0 0 0 0
2 | 0 1 0 1 0 1 0 1 0 1
3 | 0 1 2 0 1 2 0 1 2 0
4 | 0 1 2 3 0 1 2 3 0 1
5 | 0 1 2 3 4 0 1 2 3 4
6 | 0 1 2 3 4 5 0 1 2 3
7 | 0 1 2 3 4 5 6 0 1 2
8 | 0 1 2 3 4 5 6 7 0 1
9 | 0 1 2 3 4 5 6 7 8 0
チャレンジルール:
- 末尾の改行と末尾のスペースはオプションです
- テストケースの水平線と垂直線はオプションです。読みやすくするためだけに追加しました。†
- 各結果間のスペースはオプションではありません。
- 算術のシンボルは、どちらであるかが明確である限り、異なる場合があります。すなわち
×
または·
代わりの*
乗算のために、除算の÷
代わりに/
; など†
そして、それが単一の文字である限り、ごめんなさいPythonの**
。 - 入力形式は柔軟です。対応する6つのテーブルのインデックスを0〜5または1〜6から選択できます。オペランド記号を入力できます。(結果に表示するものとは異なり、完全な文字列を入力することも
**
、Pythonの場合も許可されます。)
答えで使用する入力形式を必ず明記してください。
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、コードゴルフ以外の言語で回答を投稿しないようにしないでください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - 回答には標準の規則が適用されるため、STDIN / STDOUT、適切なパラメーターを持つ関数/メソッド、完全なプログラムを使用できます。あなたの電話。
- デフォルトの抜け穴は禁止されています。
- 可能であれば、コードのテストへのリンクを追加してください。
- また、必要に応じて説明を追加してください。
† ÷
シンボルとして水平線と垂直線を使用せy/x
ず、x/y
次の代わりに使用する有効な出力の例:
÷ 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0
1 1
2 2 1
3 3 1
4 4 2 1
5 5 1
6 6 3 2 1
7 7 1
8 8 4 2 1
9 9 3 1
1
、other 0
、他の何かのために別の何か0^0
またはDivide / mod 0 を知っていますが、あなたはそれを回避する必要があります。2番目の質問について:はい、確かに、数字が同じ列/行にある限り、必要な数のスペースを使用できます。
y-x
、y/x
、y^x
およびy%x
代わりにx-y
、x/y
、x^y
とx%y
?うーん、それは大丈夫だと思います。回答で編集します。限り、あなたはそれらのすべての6つの(そうではないために一貫性があるだろうとy-x
とx/y
同じ答えで)。