一个简单但希望不是很琐碎的挑战:
编写一个程序或函数k
求和数的乘积n
。进一步来说:
- 输入:两个正整数
n
和k
(或有序整数对等) - 输出:所有的正除数的总和
n
是k
整数次方
例如11!= 39916800有六个因数为立方的除数,即1、8、27、64、216和1728。因此,给定输入39916800
和3
,程序应返回它们的总和2044
。
其他测试用例:
{40320, 1} -> 159120
{40320, 2} -> 850
{40320, 3} -> 73
{40320, 4} -> 17
{40320, 5} -> 33
{40320, 6} -> 65
{40320, 7} -> 129
{40320, 8} -> 1
{46656, 1} -> 138811
{46656, 2} -> 69700
{46656, 3} -> 55261
{46656, 4} -> 1394
{46656, 5} -> 8052
{46656, 6} -> 47450
{46656, 7} -> 1
{1, [any positive integer]} -> 1
这是代码高尔夫球,因此代码越短越好。我欢迎使用各种不同语言编写的代码,即使某些其他语言可以比您使用的更少的字节数逃脱了。