Ziel einer Rosetta Stone Challenge ist es, Lösungen in möglichst vielen Sprachen zu schreiben. Zeigen Sie Ihre Programmiervielsprachigkeit!
Die Herausforderung
Wenn Menschen den Begriff "Durchschnitt" verwenden, meinen sie im Allgemeinen das arithmetische Mittel, dh die Summe der Zahlen geteilt durch die Anzahl der Zahlen. Es gibt jedoch viel mehr Bedeutungen für das Wort "Mittel", einschließlich des harmonischen Mittels , des geometrischen Mittels , des arithmetischen Mittels , des quadratischen Mittels und des kontraharmonischen Mittels .
Ihre Herausforderung besteht darin, ein Programm zu schreiben, das eine Liste von Zahlen eingibt und diese 5 verschiedenen Mittel ausgibt. Darüber hinaus versuchen Sie, Programme in möglichst vielen Sprachen zu schreiben . Sie dürfen jede Art von Standardbibliotheksfunktion verwenden, die Ihre Sprache hat, da dies meistens ein Sprachschaufenster ist.
Eingang
Die Eingabe erfolgt in Form einer Liste positiver Zahlen.
1,2,3,4,5
1.7,17.3,3.14,24,2.718,1.618
8.6
3,123456
10.1381,29.8481,14.7754,9.3796,44.3052,22.2936,49.5572,4.5940,39.6013,0.9602
3,4,4,6.2,6.2,6.2
Ausgabe
Die Ausgabe erfolgt über die fünf Mittelwerte in der oben angegebenen Reihenfolge (harmonisch, geometrisch, arithmetisch, quadratisch, kontraharmonisch). Praktischerweise ist dies das Gleiche wie das Erhöhen der Reihenfolge.
2.18978,2.6052,3,3.31662,3.66667
3.01183,4.62179,8.41267,12.2341,17.7915
8.6,8.6,8.6,8.6,8.6
5.99985,608.579,61729.5,87296.6,123453.
5.95799,14.3041,22.5453,27.9395,34.6243
4.5551,4.74682,4.93333,5.10425,5.28108
Im E / A-Format wird es eine angemessene Nachgiebigkeit geben, aber ich möchte mehrere Dezimalstellen für die Genauigkeit. Da ich eine Gleitkommaausgabe möchte, können Sie eine Gleitkommaeingabe annehmen.
Das objektiv gewinnende Kriterium
Als objektives Gewinnkriterium gilt: Jede Sprache stellt einen eigenen Wettbewerb dar, wer den kürzesten Beitrag schreiben kann, aber der Gesamtsieger wäre die Person, die die meisten dieser Teilwettbewerbe gewinnt. Dies bedeutet, dass eine Person, die in vielen ungewöhnlichen Sprachen antwortet, einen Vorteil erzielen kann. Code-Golf ist vor allem dann ein Tiebreak, wenn es mehr als eine Lösung in einer Sprache gibt: Die Person mit dem kürzesten Programm bekommt für diese Sprache eine Anerkennung.
Bei einem Gleichstand gewinnt die Person mit den zweitplatziertesten Einsendungen (und so weiter).
Regeln, Einschränkungen und Hinweise
Ihr Programm kann in jeder Sprache geschrieben werden, die vor dem 2. September 2014 existierte. Ich muss mich auch auf die Community verlassen, um einige Antworten zu validieren, die in einer der ungewöhnlicheren / esoterischeren Sprachen geschrieben wurden, da es unwahrscheinlich ist, dass ich sie testen kann Sie.
Bitte bewahren Sie alle Ihre verschiedenen Beiträge in einer einzigen Antwort auf.
Auch keine Shenanigans mit im Grunde der gleichen Antwort in einer etwas anderen Dialektsprache. Ich werde beurteilen, welche Einsendungen unterschiedlich genug sind.
Aktuelle Rangliste
Dieser Abschnitt wird regelmäßig aktualisiert, um die Anzahl der Sprachen und die jeweils führenden Personen anzuzeigen.
- Algoid (337) - Beta-Zerfall
- APL (42) - Algorithmushai
- Awk (78) - Dennis
- BBC BASIC (155) - Beta-Zerfall
- C (136) - Dennis
- C ++ (195) - Zeta
- C # (197) - Martin Büttner
- CJam (43) - Dennis
- Clojure (324) - Michael Easter
- Kobra (132) - Ourous
- CoffeeScript (155) - Martin Büttner
- Commodore BASIC (104) - Mark
- Common Lisp (183) - DLosc
- Erlang (401) - Mark
- Fortran (242) - Kyle Kanos
- Fortran 77 (286) - Beta-Zerfall
- GNU bc (78) - Dennis
- GolfScript (83) - Dennis
- Groovy (157) - Michael Easter
- Haskell (140) - Zeta
- J (28) - Algorithmushai
- Java (235) - Michael Easter
- JavaScript (ES6) (112) - Dennis
- JRuby (538) - Michael Easter
- Julia (79) - Martin Büttner
- Lua (113) - AndoDaan
- Mathematica (65) - Martin Büttner
- Matlab (63) - Martin Büttner
- Oktave (68) - Dennis
- Openscript (849?) - COTO
- Pascal (172) - Mark
- Perl (76) - Grimy
- PHP (135) - Dennis
- POV-Ray 3,7 (304) - Mark
- Prolog (235) - DLosc
- Pyth (52) - Dennis
- Python 2 (96) - Dennis
- Python 3 (103) - DLosc
- Q (53) - Algorithmushai
- Q'Nial (68) - Algorithmushai
- QBasic (96) - DLosc
- R (91) - Plannapus
- Rubin (118) - Martin Büttner
- Rust (469) - Vi.
- Scala (230) - Michael Easter
- T-SQL (122) - MickyT
- TI-Basic (85) - Ypnypn
- TypeScript (393) - rink.attendant.6
- VBA (Excel) (387) - Stretch Maniac
- wxMaxima (134) - Kyle Kanos
Aktuelle Benutzerrankings
- Dennis (10)
- Martin Büttner (6)
- Michael Easter (5)
- Mark, DLosc, Algorithmushai (4)
- Betazerfall (3)
- Zeta, Kyle Kanos (2)
- Ourous, AndoDaan, COTO, Grimy, Plannapus, Vi., MickyT, Ypnypn, rink.attendant.6, Stretch Maniac (1)
(Wenn ich in der obigen Rangliste einen Fehler gemacht habe, lass es mich wissen und ich werde ihn beheben. Außerdem wurde der Tiebreaker noch nicht angewendet.)
quelle
(a-b)/ln(a/b)
. Ich gebe zu, dass ich erst heute herausgefunden habe, wie es sich auf einen Beispielsatz von mehr als zwei verallgemeinert :-) de.wikipedia.org/wiki/Logarithmic_meanbc
,awk
etc „Sprachen“ oder „Befehle“ zu sein - so würden die verschiedenen Möglichkeiten zur Umsetzung dieser von einem Shell in verschiedenen Sprachen gezählt werden?Antworten:
Sprachen: 1
Openscript (viele hundert)
(Meine obskure und leider nicht mehr verfügbare Lieblingsprogrammiersprache, weil ich vor vielen Jahren gelernt habe, darauf zu programmieren.;)
quelle
put the length of the inputs into n
? O_O Ich liebe diese Sprache schon.Sprachen: 13
Ich denke, diese Liste sollte jetzt alle Programmiersprachen enthalten, die ich gut genug kenne, um zumindest einfache Probleme zu lösen. Ich werde versuchen, diese Liste im Laufe der Zeit zu vervollständigen, wenn ich mir einige neue Sprachen anschaue. ( Früher kannte ich Smalltalk und Delphi, aber ich musste zu viel nachschlagen, um sie hinzuzufügen, damit ich mich richtig fühlte.)
C
196190171165 BytesLiest die Eingabe als einzelne Befehlszeilenargumente und schreibt eine durch Kommas getrennte Liste der Mittelwerte nach STDOUT.
Vielen Dank für einige Verbesserungen an Quentin.
C ++, 200 Bytes
Dies ist derselbe wie der obige C-Code, plus zwei Includes. Ich beziehe dies mit ein, weil es länger ist als die gewinnende C ++ - Einreichung, also schade ich wohl nicht und ich möchte, dass dieser Beitrag tatsächlich jede Sprache enthält, die ich kenne. :)
C #,
220197 BytesDefiniert eine Funktion in einer Klasse, die ein
List
Double nimmt und ein Array von Double mit den fünf Mitteln zurückgibt.Vielen Dank für einige Verbesserungen an Visual Melon und Bob.
CJam, 52 Bytes
Nimmt die Eingabe als Befehlszeilenargumente und druckt eine Liste mit den fünf Werten nach STDOUT.
CoffeeScript, 155 Bytes
Dies ist fast das Gleiche wie die JavaScript-Lösung weiter unten (und ursprünglich habe ich sie aus diesem Grund nicht gezählt), aber das OP hat sie trotzdem in den Anzeiger aufgenommen, sodass ich sie zu einer vollständigen Einreichung befördert habe. Das sind doch technisch unterschiedliche Sprachen.
JavaScript (ES6),
155153 ByteDefiniert eine Funktion, die ein Array von Zahlen verwendet und mit den fünf Mitteln ein Array zurückgibt.
Vielen Dank für einige Verbesserungen an William Barbosa.
Julia, 79 Bytes
Definiert eine Funktion, die eine Liste von Zahlen aufnimmt und eine Liste mit den fünf Mitteln zurückgibt.
Lua, 120 Bytes
Definiert eine Funktion, die eine Liste von Zahlen verwendet und 5 separate Werte für die Mittelwerte zurückgibt.
Mathematica,
736765 BytesDefiniert eine Funktion, die eine Liste mit Gleitkommazahlen erstellt und eine Liste mit den fünf Mitteln zurückgibt.
Lustige Tatsache: Mathematica hat alle 5 Mittel eingebaut (und das war meine ursprüngliche Übermittlung), aber drei von ihnen können in weniger Zeichen als ihre Funktionsnamen implementiert werden.
Matlab,
6563 BytesFordert die Eingabe als Array von Zahlen vom Benutzer an und gibt die fünf Mittelwerte einzeln aus.
Vielen Dank für einige Verbesserungen an Dennis Jaheruddin.
PHP ≥ 5,4,
152149143 BytesGleiche funktionale Implementierung wie die vorherigen.
Vielen Dank für einige Verbesserungen an Ismael Miguel.
Python 2, 127 Bytes
Gleiche funktionale Implementierung wie die vorherigen.
Ruby,
129118 BytesGleiche funktionale Implementierung wie die vorherigen.
quelle
norm(l)/n^.5
anstelle von verwendennorm(l)/sqrt(n)
.4 Sprachen
J -
3228 char!Eine Funktion, deren einziges Argument die Liste der Zahlen ist.
a
Hier ist ein Adverb, bei dem es sich um die Übernahme von Funktionen zweiter Ordnung durch J handelt.+/ % #
ist ein Zug in J und bedeutet Summe geteilt durch Anzahl, die Definition des arithmetischen Mittels.&.:
ist eine Konjunktion mit dem Namen Under, wobeiu&.:v(y)
gleichbedeutend mitvi(u(v(y)))
undvi
die Funktionsumkehrung von istv
. Ja, J kann funktionelle Umkehrungen annehmen .So
a
nimmt eine Funktion auf der linken Seite, und kehrt mit einem mittleren , dass „Regelt“ die Werte durch die Funktion, das arithmetische Mittel nimmt, und dann die Einstellung kehren danach.%a
ist das harmonische Mittel, weil es%
wechselseitig bedeutet und seine eigene Umkehrung ist.^.a
ist das geometrische Mittel, weil^.
es sich um den natürlichen Logarithmus handelt und dessen Umkehrung das Exponential ist.(Π x)^(1/n) = exp(Σ log(x)/n)
[a
ist das arithmetische Mittel, weil[
es die Identitätsfunktion ist.*:a
ist der quadratische Mittelwert, weil*:
Quadrat ist, und seine Umkehrung ist die Quadratwurzel.*:a
geteilt durch ([a
geteilt durch*:a
)). Das sieht so aus[a(]%%)*:a
. Während wir gerade dabei sind, stellen wir jedes der Mittel voran[a(,,]*%~)*:a
.Schließlich setzen wir Kommas, um den Rest der Ergebnisse zusammenzufügen. Wir benötigen keine weiteren Parens, da die Verkettung (zumindest in diesem Fall) assoziativ ist.
Im Einsatz bei der J REPL:
Q - 53 Zeichen
Einzelargumentfunktion. Wir machen nur eine Liste aller Mittel, die wir wollen.
Dasselbe gilt für andere Versionen von k.
{s:(a:avg)x*x;(%a@%x;exp a log x;a x;sqrt s;s%a x)}
{s:(a:{(+/x)%#x})x*x;(%a@%x;(*/x)^%#x;a x;s^.5;s%a x)}
APL - 42 Zeichen
Funktionsauflistung als Argument.
Erklärt durch Explosion:
Q'Nial - 68 Zeichen
Du wirst diesen lieben.
Q'Nial ist eine weitere Array-orientierte Sprache, eine Implementierung von Nial , die auf einer obskuren Array-Theorie basiert, so wie Haskell auf Kategorietheorie basiert. (Holen Sie es sich hier .) Es unterscheidet sich sehr von den anderen drei - es analysiert vor allem von links nach rechts!
quelle
/⍨
mal , es drosselt ). Es war wahrscheinlich dafür gedacht, wirklich alten Code zu portieren. Was benutzt du? Dyalog? NARS2000? Ich finde es wirklich bedauerlich, dass J den ASCII-Rauschansatz gewählt hat. Die Implementierung dieser Sprache ist ansonsten ein geniales Werk. Aber ich kann mich nicht darum kümmern, mich mental zu analysieren]a(,,]*%~)*:a
[0.5]
? Ew.) Mit der Zeit gewöhnt man sich jedoch daran, J still zu halten. Es wird noch schlimmer.12 Sprachen
CJam,
454443 BytesLiest ein Array von Floats (zB
[1.0 2.0 3.0 4.0 5.0]
) aus STDIN. Probieren Sie es online aus.APL,
6761535250 BytesProbieren Sie es online aus.
Pyth,
5552 BytesLiest durch Leerzeichen getrennte Zahlen (zB
1 2 3 4 5
) aus STDIN.Oktave, 68 Bytes
Ohne den Schebang. Liest ein Array (zB
[1 2 3 4 5]
) aus STDIN.GNU bc, 78 Bytes
Zählen Sie den Shebang als 1 Byte (
-l
Schalter). Liest durch Leerzeichen getrennte Floats von STDIN, gefolgt von einer Null.Awk, 78 Bytes
Ohne den Schebang. Liest eine Nummer pro Zeile aus STDIN.
GolfScript,
8683 BytesGolfScript hat keine eingebaute Unterstützung für Floats, daher analysiert der Code diese. Daher ist das Eingabeformat eher restriktiv: Sie Eingabe muss
1.0
und0.1
anstatt1
,1.
oder.1
.Liest Floats (wie oben erklärt) zeilenweise von STDIN. Probieren Sie es online aus.
Perl,
9085 BytesZählen Sie den Shebang als 1 Byte (
-n
Schalter). Liest eine Nummer pro Zeile aus STDIN.Python 2,
10296 BytesOhne den Schebang. Liest eine Liste von Floats (zB
1.0,2.0,3.0,4.0,5.0
) aus STDIN.ECMAScript 6 (JavaScript),
114112 BytesLF nicht mitgerechnet. Erwartet ein Array (zB
[1,2,3,4,5]
) als Argument.PHP, 135 (oder 108?) Bytes
Ohne Shebang oder LF. Liest Gleitkommazahlen als Befehlszeilenargumente.
Ich habe eine kürzere Lösung, weiß aber nicht, wie ich die Bytes zählen soll:
Wenn Sie die Bytes in jeder Codezeichenfolge zählen und zwei für
-R
und hinzufügen-E
, würde dieser Ansatz 108 Punkte erzielen.C
172140139137136 BytesLF nicht mitgerechnet. Kompilieren mit
gcc -lm
. Liest durch Leerzeichen getrennte Floats von STDIN.quelle
while(cond)...,n++;
vsfor(;cond;n++)...;
interpreter switches script
bei jeder Einreichung zu erklären . Konvention ist, dass Shebang-Linien nicht gezählt werden, es sei denn, sie enthalten nicht standardmäßige Schalter. Wie in meiner Antwort angegeben, habe ich#!/usr/bin/awk -f
als null Byte gezählt (-f
bedeutet, dass das Programm aus der Datei gelesen wird), aber#!/usr/bin/perl -n
als ein Byte (-n
bedeutet, dass ich über die Eingabezeilen iteriere).-q
für Oktave und-lm
für C zählen?-q
ist nur zu leise Ausgabe.-lm
wird von GCC benötigt. Andere Compiler benötigen es möglicherweise nicht.J (50):
Das ist die Art von Dingen, in denen J gut ist:
Wie immer: eine Explosion in der Smileyfabrik. Einige der Smileys blieben jedoch dieses Mal intakt:
:)
und:*:
(das ist ein Typ mit vier Augen und einem Edelstein, der in sein Gesicht eingebettet ist) Meine interaktive Sitzung, die verwendet wurde, um dies zu erstellen: http://pastebin.com/gk0ksn2bIn Aktion:
Erläuterung:
Wie zu erwarten, gibt es tatsächlich 5 Funktionen, die in einer Liste mit einer Reihe von Gabeln und Haken zusammengefasst sind. (Keine Sorge, es ist nur eine bequeme Möglichkeit, mehrere Funktionen in einer einzigen Liste auszugeben.)
Die Zeilen, die ich verwendet habe, um J zu veranlassen, diese Antwort zu generieren, könnten etwas klarer sein:
Schauen wir sie uns getrennt an.
Harmonisch
#
- Länge (des Arrays)%
- Geteilt durch+/@:%
- Die Summe (+/
oder Falte+
im Array (+/1 2 3 4
==1+2+3+4
)), die oben geteilt wird, diesmal jedoch im monadischen Fall. Was dies hier bedeutet, ist, dass J automatisch "vermutet", dass 1 der nützlichste Wert wäre.Geometrisch
#
- Länge (des Arrays)%:
- Wurzel (4 %: 7
würde 'die vierte (oder tesseract) Wurzel von sieben bedeuten)*/
- Produkt (entspricht*/
in der Bedeutung+/
der vorherigen Funktion)Arithmetik
+/
- Summe, sollte jetzt vertraut sein%
- geteilt durch#
- LängeQuadratischer Mittelwert
Ähm, ja ...
%:
- Die Wurzel von%@#
- Die Umkehrung der Länge*
- Zeiten+/@:*:
- Die Summe der Quadrate (*:
wird quadriert, obwohl*~
es auch so ist.)Kontraharmonisch
+/@:*:
- Die Summe der Quadrate%
- geteilt durch+/
- die Summe.Wenn J Saiten so gut verarbeiten könnte, würden wir viel mehr Golfwettbewerbe gewinnen ...
quelle
Sprachen: 5
POV-Ray 3.7 Szenenbeschreibung Sprache: 304 Bytes
(POV-Ray SDL verfügt nicht über Konsoleneingabefunktionen, daher habe ich die Dateieingabe ersetzt. Die Ausgabe erfolgt an die Konsole, ist jedoch von zahlreichen Programmstatusausgaben umgeben.)
Commodore BASIC:
111104 Bytes(Es können nicht alle Zeichen in diesem Programm in Unicode dargestellt werden.
|
Wird zum DarstellenSHIFT+H
,┌
DarstellenSHIFT+O
,┐
DarstellenSHIFT+P
,/
Darstellen verwendetSHIFT+N
. Aufgrund der Einschränkungen in Commodore Basic I / O wird die Eingabe einzeln mit einer Eingabe eingegeben von -1, um das Ende der Eingabe anzuzeigen. Die Ausgabe ist durch Tabulatoren getrennt.)QBasic: 96 Bytes
Verwendet dasselbe E / A-Schema wie der Eintrag von DLosc. Ich habe 15 Bytes weniger gespielt, indem ich die Tatsache verwendet habe, dass
INPUT V
bei der Eingabe einer leeren Zeile 0 zurückgegeben wird (was als falsch ausgewertet wird) (zumindest in MS-DOS QBasic 1.1 - ich weiß nicht, ob es auch in QB64 funktioniert).Pascal (FPC-Compiler): 172 Byte
Die Eingabe wird durch Leerzeichen und nicht durch Kommas getrennt und mit einem Zeilenumbruch abgeschlossen. Die Ausgabe ist durch Leerzeichen getrennt.
Erlang: 401 Bytes
Das Saitenhandling in Erlang ist ein königlicher Schmerz. Folglich müssen alle Gleitkommazahlen mit mindestens einer Nachkommastelle eingegeben werden -
string:to_float/1
wird nicht konvertiert1
, sondern konvertiert1.0
.(Weitere Informationen, insbesondere, wenn ich herausfinde, wie dies in RoboTalk, einer Sprache ohne Gleitkommaoperationen und ohne E / A-Vorgänge, geschehen soll.)
quelle
(Q/N)^.5
an meine gewöhnt bistSQR(q/n)
, aber das hat keinen Einfluss auf die Länge. Vielleicht könnten wir die Führung teilen? (Ich mache die Byteanzahl 96, ohne die abschließende Newline.)wc
) enthält die nachgestellte Zeile, die uns vermutlich beide den Vorsprung verschafft - zumindest bis ich herausgefunden habe, wie ich dieses Duplikat beseitigen kannINPUT V
.GOTO
s anstelle der Schleife ausprobiert , konnte aber keine weitere Reduzierung erzielen.Sprachen: 3
Sofern nicht anders angegeben, müssen Zahlen durch Leerzeichen getrennt werden.
C:
181163Nimmt Zahlen bis zum Ende der Eingabe auf.
(ISO) C ++: 195
Nimmt Zahlen bis zum Ende der Eingabe auf.
Haskell:
185180164159149140Nimmt beliebig viele durch Zeilenvorschub getrennte Nummernlisten auf.
Implementierung
5041 (danke shiona) Bytes sind nur für IO: /.Beispiel
(Powershell's
echo
akaWrite-Output
druckt jeden Parameter in einer einzigen Zeile)quelle
;c=t/a
in die let-Klausel zu schreiben, schreiben Sie[h,g,a/z,r,t/a]
nach demin
.s$m(1/)x
kürzer alss.m(1/)$x
wie es ists$m(^2)x
.fromIntegral.length$x
durchfoldr(\_ x->x+1)0x
.s$m(const 1)x
.Sprachen - 4
Ich liebe immer eine Ausrede, um gute alte herauszuholen
QBasic,
11296 BytesQBasic eignet sich nicht für eine variable Anzahl von Eingaben, daher benötigt das Programm eine Nummer pro Zeile, die mit 0 oder einer leeren Zeile abgeschlossen wird. Die Ausgabe wird durch Leerzeichen getrennt.
(Wurde gekürzt, als mir klar wurde, dass 0 keine gültige Zahl ist und zur Beendigung der Eingabe verwendet werden kann.)
Getestet mit QB64 :
Common Lisp, 183 Bytes
Aus irgendeinem Grund erwartete ich, dass dies kürzer sein würde. Ich bin kein Lisp-Experte, daher sind Tipps willkommen. Ungolfed-Version:
Der wahrscheinlich beste Weg zum Testen besteht darin, die Funktion
clisp
wie folgt in die REPL einzufügen:Ich mag, wie Lisp beim Teilen von zwei ganzen Zahlen exakte Brüche anstelle von Floats verwendet.
Prolog, 235 Bytes
In Mathe ist Prolog nicht besonders gut, aber wir werden es trotzdem verwenden. Getestet mit SWI-Prolog. Ich denke, das
sumlist
Prädikat ist möglicherweise kein Standard-Prolog, aber was auch immer, ich verwende es.Ungolfed:
means.pro
Testen Sie unter Linux mit dem Code in einer Datei mit dem Namen wie folgt:Gibt ein korrektes, aber ziemlich amüsantes Ergebnis, wenn es nur eine Zahl gibt:
Python 3, 103 Bytes
Gleiche Strategie wie Dennis ' Python 2-Version. Nimmt eine durch Kommas getrennte Liste von Zahlen; verarbeitet sowohl Ints als auch Floats. Eine Eingabe mit einer einzelnen Zahl muss in eckige Klammern gesetzt werden (und eine Liste von Zahlen kann es immer sein). Ein Fix würde 4 Bytes kosten.
quelle
8 Sprachen
Fortran 77 - 286
BBC BASIC - 131
Ausgabe:
C ++ - 292
Python 3 - 151
Ausgabe:
Java - 421
Javascript - 231
Ich bin kein Javascripter, daher wären alle Tipps sehr willkommen
Algoid - 337
Schlagen Sie im Google Play Store oder im Raspberry Pi Store nach
var'aQ - 376
Das ist syntaktisch korrekt und alles, aber alle aktuellen Interpreter funktionieren einfach nicht ...
quelle
sqrt(b4/l)
statt(b4/l)**0.5
und viele mehr durch den Einsatza
,b
,c
,d
stattb1-4
. Du bringst mich auch zum Weinen, indem du 77 anstelle des moderneren F90 + verwendest.var
:var l=readline(),b=0,d=1,e=0,f=0;
. Nicht sicher, welchereadline
Funktion ist.Length of sequence?
oder zumindest verkürzen.Sprachen: 3
CJam, 58
TI-Basic, 85
Java, 457
quelle
{dim(Ans)/sum(Ansֿ¹),dim(Ans)√(prod(Ans)),mean(Ans),√(mean(Ans²)),mean(Ans²)/mean(Ans
Sprachen - 2
Cobra - 132
Python - 129
quelle
1 Sprache
R
9291Nimmt einen Wertevektor und gibt einen Mittelwertevektor aus.
quelle
d=s(x^2)
die letzten beiden Verwendungen vons(x^2)
durch ersetzend
.1 Sprache
Golfscript, 162
Ja, es ist riesig. Und es kann definitiv kleiner gemacht werden. Was ich später machen werde. Probieren Sie es hier aus .
Es wird erwartet, dass die Eingabe durch Zeilenumbrüche getrennt ist. Wenn das nicht erlaubt ist, repariere ich es (+2 Zeichen). Es gibt die Liste Newline getrennt aus.
Hier ist eine etwas besser lesbare Version:
quelle
l*l
mal höher sein, wol
ist die Anzahl der Schwimmer.Sprachen 2
Fortran: 242
Ich habe es aus Gründen der Klarheit ungolfed, aber die Golfversion ist das, was gezählt wird. Sie müssen zuerst die Anzahl der hinzuzufügenden Werte und dann die Werte eingeben.
wxMaxima 134
Kopieren Sie dies in den Editor
ctrl+enter
und rufen Sie dann viam([1,2,3,4,5]),numer
auf, um eine Gleitkommaausgabe zu erhalten (andernfalls erhalten Sie eine symbolische Ausgabe).quelle
Perl,
8676Eingabe: eine Nummer pro Zeile.
BEARBEITEN: Dies ist ein Zeichen länger, aber da anscheinend Shebang-Linien nicht zur Gesamtsumme gezählt werden, ist es am Ende besser:
quelle
T-SQL,
136122Mit den in Tabelle S gespeicherten Nummernlisten, wobei I (Integer) die Liste kennzeichnet und V (Float) den Wert.
SQLFiddle
14 dank Alchymist gerettet
quelle
Sprachen: 5
Einige Einträge sind bestrebt, Rundungsfehler (auf 4 Dezimalstellen) zu vermeiden, indem sie Javas BigDecimal anstelle von float / double verwenden und E / A-Regeln pro OP akzeptieren.
Neuere Einträge lockern sowohl IO-Regeln als auch BigDecimal.
Groovy -
409400164157 ZeichenProbelauf:
Java -
900235 ZeichenProbelauf:
Clojure -
524324 ZeichenProbelauf (am Ende steht ein Komma):
Scala -
841663230 ZeichenProbelauf:
JRuby - 538 Zeichen
Es ist unklar, ob sich JRuby von Ruby unterscheidet: Dies muss auf der JVM ausgeführt werden. Es ist jedoch Ruby-Syntax. In jedem Fall beziehe ich es in den Geist eines Rosetta-Steins ein.
Probelauf (gibt eine Warnung an stderr aus):
quelle
Sprachen 1
lua - 113
quelle
Sprachen - 1
Groovy:
quelle
2 Sprachen
Java - 243 Bytes
erweitert:
VBA - Excel, 387 Bytes
Tragen Sie Werte in die erste Spalte ein, drücken Sie dann die Taste (die diesen Code auslöst) und sie gibt die Werte in der zweiten Spalte aus.
quelle
1 Sprache
Rust - 469
(
rustc 0.11.0-pre (3851d68 2014-06-13 22:46:35 +0000)
)Ungolfed-Version:
Kompakte 430-Byte-Version ohne Schleife oder Eingabe zum Testen in Playrust :
Aktualisiert für neueren Rust:
Ungolfed:
Golf (402 Bytes):
quelle
Sprachen: 4
CoffeeScript, 193
Nimmt eine durch Kommas getrennte Zeichenfolge von Eingaben:
JavaScript (ES5), 256
Auch hier wird eine durch Kommas getrennte Eingabezeichenfolge verwendet:
PHP, 252
Gleiches Konzept:
TypeScript, 393 *
Da TypeScript eine Obermenge von JavaScript ist, hätte ich einfach den gleichen Code einreichen können, aber das wäre jetzt nicht wirklich fair. Hier ist ein verkleinerter TypeScript-Code mit allen Funktionen, Variablen und Parametern, die vollständig eingegeben wurden:
Hätte auch schummeln und den Typ benutzen können
any
... aber du weißt schon.quelle
Excel - 120
Ich bin mir nicht sicher, ob dies als "Programmiersprache" gilt, dachte aber, die Leute könnten tatsächlich eine Tabelle für diese Art von Dingen verwenden
Mit den Zahlen in A2: J2
quelle
A:A
um auf die gesamte Spalte abzuzielenA
.VBA (Excel) - 105
Ungolfed:
Dieser Code muss im unmittelbaren Fenster ausgeführt werden und das Array muss i heißen . Da es keine Fehlererfassung, keine Bereinigung, kein Löschen / Freigeben von Variablen gibt, können Sie zum Testen dieses Codes den folgenden Code verwenden (einfach in das unmittelbare Fenster einfügen und die Zeilen der Reihe nach ausführen):
Nichts Besonderes, nur die Wahl mit den Direkt - Fenster zu verwenden : Zeilenumbrüche zu ersetzen, was ein paar Bytes speichert vs eine Sub oder Funktion Einrichten und Schließen; benutzen? anstatt debug.print zu drucken (nur im unmittelbaren Fenster); und sich darauf verlassen, wie vba implizite Werte bestimmt (das Hinzufügen eines Werts zu einer nicht gesetzten Variablen gibt den Wert zurück) und implizite Operationen (alles, was eine Zeichenfolge betrifft, ist implizite Verkettung).
quelle