Sức mạnh thứ tư (Juzuk)


8

Năm 1939, Juzuk đã mô tả một cách để tạo ra sức mạnh thứ tư của số tự nhiên. Nhóm các số tự nhiên như thế này:

1   2 3   4 5 6   7 8 9 10   11 12 13 14 15   ...

Cào từng nhóm thứ hai:

1   4 5 6   11 12 13 14 15 ...

Tổng của n nhóm còn lại là n ** 4.

  • Đầu vào : không có
  • Nhiệm vụ : in quyền hạn thứ tư lên tới 100 ** 4, sử dụng phương pháp của Juzuk.
  • Đầu ra :

    0 (tùy chọn) 1 16 81 ... 100000000


6
Mặc dù tôi thấy có thể chấp nhận việc cấm các đặc thù ngôn ngữ khiến việc giải quyết vấn đề trở nên quá dễ dàng, nhưng tôi không thích việc sử dụng quy tắc này của Juzuk. Có được phép lấy n-1kết quả trong tài khoản khi tính toán nkhông? Được phép đơn giản hóa các số nguyên bằng cách sử dụng n(n+1)/2công thức? Khi nào nó không còn là phương pháp của Juzuk nữa?
sam hocevar

Câu hỏi tu từ?
steenslag

Câu trả lời:


3

J, 40 38 ( không tóm tắt không cần thiết)

+/\+/"1(+:i.100){(#~i.201)[/.>:i.20100

J, 30 (tổng kết không cần thiết)

+/\_2{.\(#~i.201)+//.>:i.20100

4

J, 33

~.+/\(#~i.200)(+/*2|#)/.1+i.2!200

Tóm tắt các nhóm bạn sẽ cào sau là một tối ưu hóa mã hóa tốt đẹp, nhưng trong bối cảnh "thực hiện theo cách này", tôi cảm thấy bị cướp;)
JB

@JB: tốt ... Tôi đang sử dụng phương pháp của Juzuk, tôi chỉ tính tổng số không :)
Eelvex

3

Haskell, 78

print[sum$concat$take x[take x$drop(sum[1..x-1])[1..]|x<-[1,3..]]|x<-[0..100]]
[0,1,16,81,256,625,1296,2401,4096,6561,10000,14641,20736,28561,38416,50625,65536,...

Hy vọng định dạng đầu ra hơi khác nhau là ok. Có lẽ có một cách tốt hơn để viết điều này bằng Haskell, nhưng tôi cảm thấy như giải quyết điều này bằng ngôn ngữ mà tôi không thường sử dụng.


3

Con trăn 2, 68

Giải pháp Python nhanh và bẩn:

s=0
for n in range(100):s+=sum(range(2*n*n+n+1,2*n*n+3*n+2));print s
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.