挑战:
根据输入,输出以下六个算术表之一的“整数”:
-加法(+);
-减法(-);
-乘法(*);
-除(/);
-取幂(^);
-模运算(%)。
规则:
- 我该怎么界定为“整数位”:算术操作数正好是以下情况之一的每一个结果:
0,1,2,3,4,5,6,7,8,9。这意味着您将排除每个等于10或更高的结果,每个等于-1或更低的结果以及每个非整数的结果。 我们如何计算算术结果:首先使用高位数字,然后使用左数位的操作数。你被允许这样做,反之亦然(即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的**。 - 输入格式灵活。您可以从0-5或1-6中为对应的六个表选择索引;您可以输入操作数符号;等等。(不同于结果显示的内容,允许输入完整的字符串,或者
**以Python的情况为准。)
只需确保说明答案中使用的输入格式即可!
通用规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能短的答案。 - 标准规则适用于您的答案,因此允许您使用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,其他语言0,还有一些其他语言用于0^0除法或除法/修改0,但是您必须解决该问题。关于第二个问题:是的,只要数字仍在相同的列/行中,就可以使用任意多个空格。
y-x,y/x,y^x和y%x代替x-y,x/y,x^y和x%y?嗯,我想那可能很好。我将在答案中对其进行编辑;只要您对这六个变量都保持一致(这样就不会y-x和x/y答案相同)。