10 9 8 7 6 5 4 3 2 1… Drucken 2016


12

Als Nebeneffekt meiner Herausforderung bei Puzzling ist es Ihr Ziel, Ergebnisse zu erzielen 2016.

Regeln:

  • Sie müssen die Nummern 10 9 8 7 6 5 4 3 2 1in dieser Reihenfolge angeben. Sie können als einzelne Ganzzahlen verwendet oder miteinander verkettet werden (wie 1098), aber die 10dürfen nicht getrennt werden 1und 0- zwischen den Ziffern dürfen keine Zeichen vorhanden sein. Beachten Sie, dass in einigen Sprachen 10das Integer-Literal möglicherweise nicht richtig dargestellt wird 10, was akzeptabel ist.
  • Ihr Code darf keine anderen Zahlen oder vordefinierten Zahlenvariablen oder Konstanten enthalten (daher ist TPyth nicht zulässig, da es sich um eine numerische Konstante handelt).
  • Sie müssen mit Zahlen rechnen 2016 . Es 2016ist nicht zulässig, nur auszugeben, ohne die erforderlichen Zahlen zu bearbeiten (z. B. durch Decodieren einer codierten Zeichenfolge, die nur aus alphabetischen Zeichen besteht). Die Ausgabe 2016in Stücken (wie z. B. 20dann 16) ist ebenfalls nicht zulässig. Sie müssen eine einzige Ausgabe haben, die aus dem numerischen Wert besteht 2016.
  • Die gültige Antwort mit den wenigsten Bytes gewinnt.

3
@nicael Ich bin mir ziemlich sicher, dass das Rätsel gelöst wurde. Wir hatten einige dieser "Einfügeoperatoren zum Lösen einer Gleichung" -Herausforderungen, aber sie sind außergewöhnlich schwer zu suchen.
Martin Ender

1
Die vorherige Revision (2) war tatsächlich interessanter. Der neue
druckt

1
Nur ein paar Fragen auf , was ich auf die aktuelle Frage sehen: 1) können wir berechnen , 20und 16und sie nacheinander drucken oder nicht die berechnete Zahl Bedarf 2016 sein vor dem Drucken? 2) Sind Funktionen erlaubt? 3) Ist die Verkettung von Ziffern erlaubt? zB 1098(Ich gehe davon aus, dass dies in früheren Kommentaren der Fall ist, aber nur zur Bestätigung) 4) Bedeutet "2016 mit ganzen Zahlen berechnen", dass wir in einem Zwischenschritt niemals irgendwo schweben können? Kann ich zB eine Zahl durch Quadratwurzeln abrunden?
Sp3000

1
5) Was passiert, wenn ich eine Sprache habe, in der "10" nicht als Zehn behandelt wird, sondern eine Eins, gefolgt von einer Null, und an der es keinen Weg gibt? Ist eine solche Sprache disqualifiziert? (Beispielsprache: Befunge) 6) Können wir anstelle von 10 zB eine vordefinierte Zahlenvariable verwenden T987654321?
Sp3000

@ Sp3000 1 Nr. 2 Nr. 3 Ja. 4 Floats sind in Ordnung, solange Sie keine anderen Regeln brechen. 5 10muss enthalten sein, damit Sie das irgendwie handhaben müssen. 6 So lange wie 10zuvor angezeigt T.
Rybo111

Antworten:


22

Jelly , 17 15 14 Bytes

109876:54+3_21

Probieren Sie es online!

Wie es funktioniert

109876:54+3_21

109876            Initialize the left argument as 109876.
      :54         Perform integer division by 54, yielding 2034.
         +3       Add 3, yielding 2037.
           _21    Subtract 21, yielding 2016.

8

Sechseck, 61 Bytes

Ich werde nicht gewinnen, aber ich wollte nur eine Herausforderung in Hexagony bestehen.

Dies verwendet eine andere Methode als andere Antworten (viel schlimmer). Es nimmt einige Faktoren von 2016 (2,3,6,7,8) und multipliziert sie alle zusammen.

Minimiert:

\109.8/7}_=\"6<}{>...$_5_4/*!@...../}3.."2\/="*=}<*...$1>"*"/

Nicht abgeschlossen:

    \ 1 0 9 .
   8 / 7 } _ =
  \ " 6 < } { >
 . . . $ _ 5 _ 4
/ * ! @ . . . . .
 / } 3 . . " 2 \
  / = " * = } <
   * . . . $ 1
    > " * " /

Erklärung folgt in Kürze;


5
" Erklärung folgt in Kürze. " Ich denke, wir haben ein anderes Verständnis von "bald". ; P
Kevin Cruijssen

1
@ KevinCruijssen Hoppla, das habe ich komplett vergessen. ... und jetzt verstehe ich nicht mehr wie es funktioniert. Groß.
Blau

5

Pyth, 16 Bytes

+/109876 54-3 21

Ergibt eine Ganzzahldivision und fügt dann (3-21) hinzu.

Probieren Sie es hier aus .


4

TI-BASIC, 17-15 Bytes

int(109876/54-√(321

Hierbei wird die @ nicael-Methode verwendet.

17 Bytes:

10+9*8-7+654*3-21

Diese Lösung von Puzzling kann direkt in TI-BASIC übersetzt werden.


1
Gilt auch für Japt und wahrscheinlich für einige andere.
ETHproductions

1
Funktioniert auch in PowerShell und Mathematica (Wolfram), und ich würde mir viele, viele andere vorstellen. Und wahrscheinlich arbeitet in Dutzenden mehr mit trivialen Modifikationen.
AdmBorkBork

Eine schöne Polyglott-Lösung
TanMath

Wenn du die anderen Sprachen nehmen willst, lösche ich mein Community-Wiki.
Addison Crump

3

Japt, 17 16 Bytes

Â(109876/54-321q

Ich hasse das 17. Wird wahrscheinlich eine andere Lösung finden. YAYZ.

Erläuterung:

  • 321q ist eine Quadratwurzel von 321.
  • ~~ Etagen die Nummer.

Probieren Sie es online!


Â== ~~:-)
ETHproductions

109876/54-321¬fist 15 :-D
ETHproductions

@Eth aber f geht nicht, nein?
Nicoleel

Es sollte behoben werden. Aber der Dolmetscher ist zur Zeit wegen Wartungsarbeiten außer Betrieb. Ich werde ihn vorübergehend wieder in Betrieb nehmen.
ETHproductions

109876/54-321q)fjetzt funktioniert. Der andere Vorschlag tut es nicht.
ETHproductions


3

bc, 14

109876/54+3-21

Nichts Aufregendes - leiht sich aus anderen Antworten.


1
Das Gleichstromäquivalent 109876 54/3+21-perhält 16 Punkte, kann jedoch keine eigene Antwort garantieren.
Toby Speight

2

Haskell, 31 Bytes

[10,9*8*7+const 6 5..]!!4+3*2*1

Nicht die kürzeste, 10+9*8-7+654*3-21 wie in anderen Antworten zu sehen, funktioniert auch in Haskell, aber etwas anderes.

Dadurch wird eine Liste erstellt, die mit 10und beginnt. 9*8*7+6 = 510Der Offset gilt also 500für die folgenden Elemente. Die ganze Liste ist [10,510,1010,1510,2010,2510 ...]. Wir wählen das 4thElement (Index 0-basiert), dh2010 und addieren 3*2*1 = 6. Voilà.

Ich benutze const 6 5 = 6, um das loszuwerden, 5was nicht benötigt wird.


2

Python 2, 20 Bytes

print 109876/54+3-21

Wieder das gleiche langweilig 2016.(740). Nutzt die Tatsache, dass ein Ausdruck, der keine Dezimalzahl enthält, eine Ganzzahl zurückgibt.


1

> <> (Fisch), 18 Bytes

10987**r65r4*n;321

Erklärung:

multipliziert 9 8 und 7 zusammen, um 504 zu erhalten, kehrt den Stapel um und kehrt ihn erneut um, unmittelbar bevor die 4 addiert wird, multipliziert dann 504 und 4, um 2016 zu erhalten es auch nachher ohne unterschied, wenn das regelmässig zählt).


1

Math ++ , 17 Bytes

_(109876/54)+3-21

Eigentlich wird dies gedruckt 2016.0. Aber es gibt wirklich keine Möglichkeit, die genaue Zeichenfolge 2016in dieser Sprache auszudrucken .

Die 17-Byte-TI-BASIC-Lösung würde auch hier funktionieren.


1

Mehrsprachig, 17 Bytes

10+9*8-7+654*3-21

Dieser Code, der erstmals in der TI-BASIC-Antwort von Thomas Kwa verwendet wird , funktioniert auch in:

  • AppleScript (volles Programm)
  • bc (volles programm)
  • Math ++ (Ausdruck oder volles Programm)
  • Mathematica (Funktion, daher nicht gültig)
  • Powershell (volles Programm)
  • Japt (volles Programm)
  • JavaScript (Konsoleneingabe, daher nicht gültig) Erfordert eine zweite Überprüfung
  • Perl 5 (Funktion, daher nicht gültig). Benötigt eine zweite Überprüfung
  • Haskell (Funktion, daher nicht gültig)
  • Python REPL (Ausdruck, daher wird eine REPL-Umgebung benötigt, um die Ausgabe zu erhalten)

1
Und worum geht es?
Nicoleel

@nicael Ich --- gehe --- plane (es sei denn, Thomas Kwa möchte auch die anderen Antworten zu seinen hinzufügen), alle Antworten hinzuzufügen, die diese Antwort betreffen (außer TI-BASIC), die ich finden kann. Als Community markiert, damit andere Beiträge leisten können.
Addison Crump

1
Warum die "Funktion, daher nicht gültig" Bemerkungen? Funktionen sind standardmäßig erlaubt.
Nimi

5
Ich kenne die anderen Sprachen nicht, aber es 10+9*8-7+654*3-21ist weder eine JavaScript- noch eine Perl-Funktion.
Dennis

1
@ Sp3000: Oh, diese ungültig machenden Regeländerungen ...
nimi



1

PHP, 27 Bytes

<?=~~(109876/54+3-21);

(22 Bytes) war zu langweilig,

Also habe ich 10 bis 9 als separate Zahlen verwendet:

<?=10*(9-8+7-6),5+4-3+2<<1;

andere Lösungen, meist mit kleinen Cheats:

30: <?=10**(9+8-7-6)/5+4*3+(2<<1);
30: <?=10*trim(9*8,7),6+5+4+3-2*1;
29: <?=10*trim(9*8,76),5*4-3-2+1;
31: <?=10*trim(9*8,765),4+(3*2<<1);
31: <?=10*trim(9*8,765),4*3+(2<<1);
32: <?=ceil(1098*76/54)+321+ord(~j);
33: <?=(10<<9)/876*543/M_PI*2-M_E&~1;

0

Milchstraße 1.6.5 , 28 25 Bytes

10+9*(8)7;^*6*5/4*3/2*A!1

Erläuterung

10+9*                      ` perform 10*9 (leaves 90 at TOS)
     (8)7;^*               ` get rid of 8 and multiply the TOS by 7
            6*5/4*3/2*A    ` perform TOS*6/5*4/3*2 (leaves 2016 at TOS)
                       !   ` output the TOS
                        1  ` push 1 to the stack




0

C 37 Bytes

main(){printf("%d",109876/54+3-21);}

Gleiches Thema wie viele Anwesende.



0

JavaScript (ES6), 21 Byte

f=

_=>~~(109876/54+3-21)

console.log(f())

Wenn der "Countdown" auf 0 ging, konnte dies in 19 Bytes erfolgen.

f=
_=>109876/54+3-21|0
console.log(f())

Und da es jetzt 2017 ist, kann das auch in 21 Bytes gemacht werden:

f=
_=>-~(109876/54+3-21)
console.log(f());

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.