Một thử thách đơn giản nhưng hy vọng không tầm thường:
Viết chương trình hoặc hàm cộng các k
lũy thừa chia một số n
. Cụ thể hơn:
- Đầu vào: hai số nguyên dương
n
vàk
(hoặc một cặp số nguyên có thứ tự, v.v.) - Đầu ra: tổng của tất cả các ước số dương của số
n
đó làk
lũy thừa của số nguyên
Ví dụ: 11! = 39916800 có sáu ước là các hình khối, cụ thể là 1, 8, 27, 64, 216 và 1728. Do đó , các đầu vào đã cho 39916800
và 3
chương trình sẽ trả về tổng của chúng , 2044
.
Các trường hợp thử nghiệm khác:
{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
Đây là mã golf, vì vậy mã của bạn càng ngắn thì càng tốt. Tôi hoan nghênh mã golf trong tất cả các loại ngôn ngữ khác nhau, ngay cả khi một số ngôn ngữ khác có thể thoát khỏi với ít byte hơn của bạn.