介绍和信誉
我们都知道并喜欢我们很棒的规则,可以测试数字是11还是3的整数倍,这只是数字位数的巧妙总和。现在,通过要求您计算数字的总和,然后检查结果是否为理想的整数平方,这一挑战将其推向了一个新的高度,这两个操作通常都无法在很短的时间内完成。由于在查看数字时也很难看到此属性,因此我们希望对整个数字列表都执行此操作,以节省人工。因此,这就是您的挑战!
这是我大学功能编程课程中的一项作业。这项作业现在已经关闭,并且已经在课堂上进行了讨论,我已经得到了我教授的允许在这里发布(我明确要求)。
规格
输入值
您的输入是采用任何标准I / O格式的非负整数列表。
您可以根据自己的语言选择列表格式
输出量
输出是任何标准I / O格式的整数列表。
该怎么办?
从输入列表中筛选出每个数字的总和不是平方(整数)的整数。
元素的顺序可能不会更改,例如,如果得到[1,5,9]
,则可能无法返回[9,1]
潜在的极端情况
0 是一个非负整数,从而有效的输入和0也是有效的整数根,例如0计数为整数正方形。
空列表也是有效的输入和输出。
谁赢?
这是代码高尔夫球,因此最短的答案以字节为单位!
标准规则当然适用。
测试用例
[1,4,9,16,25,1111] -> [1,4,9,1111]
[1431,2,0,22,999999999] -> [1431,0,22,999999999]
[22228,4,113125,22345] -> [22228,4,22345]
[] -> []
[421337,99,123456789,1133557799] -> []
分步示例
Example input: [1337,4444]
Handling first number:
Sum of the digits of 1337: 1+3+3+7=14
14 is not an integer square, thus will be dropped!
Handling second number:
Sum of the digits of 4444: 4+4+4+4=16
16 is an integer square because 4*4=16, can get into the output list!
Example output: [4444]