在此挑战中,您需要使用同一组字符解决4个不同的任务。您可以重新排列字符,但是不能添加或删除字符。
获奖者将是使用最少的字符数解决所有任务的提交物。所有任务必须以相同的语言解决。
请注意,这是最少数量的字符,而不是最少数量的唯一字符。
任务1:
输出的第一N
每第三数的合数。下面的代码块在第一行中显示前19个复合数字,在下面的行中显示每个第三个复合数字。
4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30
4, 9, 14, 18, 22, 26, 30
如果是N=5
这样,则输出应为4, 9, 14, 18, 22
。你必须支持1<=N<=50
。
合成数字是不是素数或1的正数。
结果为N=50
:
4, 9, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, 54, 57, 62, 65, 69, 74, 77, 81, 85, 88, 92, 95, 99, 104, 108, 112, 116, 119, 122, 125, 129, 133, 136, 141, 144, 147, 152, 155, 159, 162, 166, 170, 174, 177, 182, 185, 188, 192
任务2:
输出一个N-by-N
乘法表。你必须支持1<=N<=20
例:
N = 4
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
输出格式是可选的,以下是可接受的输出[[1,2,3,4],[2,4,6,8],[3,6,9,12],[4,8,12,16]]
。
任务3:
确定数字是否为斐波那契数。您必须支持正数,N
直到语言的默认整数限制。如果同时存在32位整数和64位整数,则可以选择使用需要最短代码的整数。例如,如果可以选择,请使用int
代替long int
。除非这是默认设置,否则您不能选择比32位小的整数(如果默认为32位,则不能使用8位整数)。
true/false
,false/true
,1/0
,1/-1
,a/b
都是可以接受的输出,只要它是一致的。
任务4:
采取N
作为输入和输出的结果1^1+2^2+3^3+...N^N
。你必须支持1<=N<=10
。
10个不同的结果是:
1, 5, 32, 288, 3413, 50069, 873612, 17650828, 405071317, 10405071317
该堆栈片段将帮助您检查解决方案。它测量包括所有四个解决方案所需的最少字符集,并显示剩余的字符。