Kekuatan keempat (Juzuk)


8

Pada tahun 1939 Juzuk menggambarkan cara untuk menghasilkan kekuatan keempat bilangan alami. Kelompokkan bilangan asli seperti ini:

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

Gores setiap kelompok kedua:

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

Jumlah dari n grup yang tersisa adalah n ** 4.

  • Masukan : tidak ada
  • Tugas : cetak kekuatan keempat hingga 100 ** 4, menggunakan metode Juzuk.
  • Keluaran :

    0 (opsional) 1 16 81 ... 100000000


6
Meskipun saya merasa dapat diterima untuk melarang kekhususan bahasa yang membuatnya terlalu mudah untuk menyelesaikan masalah, saya tidak menyukai aturan "gunakan metode Juzuk". Apakah diizinkan untuk mengambil n-1hasil dalam akun saat menghitung untuk n? Apakah diizinkan untuk menyederhanakan jumlah integer menggunakan n(n+1)/2rumus? Kapan itu bukan metode Juzuk lagi?
sam hocevar

Pertanyaan retoris?
steenslag

Jawaban:


3

J, 40 38 ( tidak menjumlahkan yang tidak dibutuhkan)

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

J, 30 (menjumlahkan yang tidak dibutuhkan)

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

4

J, 33

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

Menjumlahkan grup yang akan Anda gores nanti adalah optimasi kodeisasi yang bagus, tetapi dalam konteks "implementasikan dengan cara ini", saya merasa dirampok;)
JB

@JB: baik ... Saya sedang menggunakan metode Juzuk, saya hanya jumlah angka nol :)
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,...

Semoga format output yang sedikit berbeda ok. Mungkin ada cara yang jauh lebih baik untuk menulis ini di Haskell, tapi saya merasa ingin menyelesaikan ini dalam bahasa yang tidak sering saya gunakan.


3

Python 2, 68

Solusi Python yang cepat dan kotor:

s=0
for n in range(100):s+=sum(range(2*n*n+n+1,2*n*n+3*n+2));print s
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.