Die vierte Potenz (Juzuk)


8

1939 beschrieb Juzuk einen Weg, um die vierte Potenz natürlicher Zahlen zu erzeugen. Gruppieren Sie die natürlichen Zahlen wie folgt:

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

Kratz jede zweite Gruppe:

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

Die Summe der n verbleibenden Gruppen ist n ** 4.

  • Eingabe : keine
  • Aufgabe : Drucke die vierten Potenzen bis zu 100 ** 4 nach Juzuks Methode.
  • Ausgabe :

    0 (optional) 1 16 81 ... 100000000


6
Ich finde es zwar akzeptabel, Sprachspezifitäten zu verbieten, die es zu einfach machen, ein Problem zu lösen, aber ich mag diese Regel „Juzuks Methode verwenden“ nicht. Darf das n-1Ergebnis bei der Berechnung berücksichtigt werden n? Darf man mit der n(n+1)/2Formel ganzzahlige Summen vereinfachen ? Wann ist es nicht mehr Juzuks Methode?
Sam Hocevar

Rhetorische Fragen?
Steenslag

Antworten:


3

J, 40 38 ( nicht unnötig summierend)

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

J, 30 (Summierung nicht erforderlich)

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

4

J, 33

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

Das Zusammenfassen der Gruppen, die Sie später kratzen werden, ist eine nette Optimierung der Codegröße, aber in einem Kontext, in dem Sie es auf diese Weise implementieren, fühle ich mich ausgeraubt;)
JB

@JB: na ja ... ich bin Juzuk Methode verwenden, ich Nullen nur summieren :)
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,...

Hoffe die etwas andere Ausgabeformatierung ist ok. Es gibt wahrscheinlich einen viel besseren Weg, dies in Haskell zu schreiben, aber ich wollte dies in einer Sprache lösen, die ich nicht oft benutze.


3

Python 2, 68

Schnelle und schmutzige Python-Lösung:

s=0
for n in range(100):s+=sum(range(2*n*n+n+1,2*n*n+3*n+2));print s
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.