単純ですが、できればさほど簡単ではない挑戦:
k
数値を分割する累乗を加算するプログラムまたは関数を作成しn
ます。すなわち:
- 入力:2つの正の整数
n
およびk
(または整数の順序ペアなど) - 出力:の正の約数の総和
n
ことがあるk
整数の乗
たとえば、11!= 39916800には、キューブである6つの除数、つまり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
これはコードゴルフですので、コードが短いほど良いです。他の言語があなたのバイトよりも少ないバイトで逃げることができるとしても、私はあらゆる種類の異なる言語のゴルフコードを歓迎します。