Bei einer int-Eingabe n wird n * umgekehrt (n) ausgedruckt.

9

Bei gegebener Ganzzahl nausdruckenn * reversed(n)

reversed(n)ist die Nummer, die Sie erhalten, wenn Sie reversedie Ziffern von n.


reverse(512) = 215

reverse(1) = 1

reverse(101) = 101

>>>>>>>>

func(5) = 5*5 = 25

func(12) = 12*21 = 252

func(11) = 11*11 = 121

func(659) = 659*956 = 630004

Der kürzeste Code gewinnt!

Bestenliste

K Split X.
quelle
3
Was ist das Gegenteil von 100?
tsh
001, aber auf jeden Fall ist es in Ordnung, wenn Sie zusätzliche Nullen vor
K Split X
4
Warum abstimmen? Weil diese Herausforderung zu trivial ist (im Vergleich zu einigen anderen Herausforderungen nicht!) Oder weil sie schlecht formatiert / unklar ist?
user202729
2
@ user202729 Ich habe abgestimmt, weil ich nicht viel Abwechslung oder Tiefe bei den Antworten gesehen oder erwartet habe. Diese Frage ist langweilig, ich habe es versucht. Ein Grund dafür, dass es langweilig ist, ist, dass es trivial ist, was meiner Meinung nach ein vollkommen gerechter Grund ist, eine Frage selbst abzulehnen.
Ad-hoc-Garf-Jäger

Antworten:

10

05AB1E , 2 Bytes

R*

Probieren Sie es online aus!

In 05AB1E werden Ganzzahlen und Zeichenfolgen als äquivalente Typen behandelt, sodass reversal ( R) in Zeichenfolge und Umkehrungen konvertiert, während multiplication ( *) die Umkehrung und die Eingabe als Ganzzahlen behandelt.

Mr. Xcoder
quelle
4
Â*ist auch gültig: D.
Magic Octopus Urn
4

JavaScript (SpiderMonkey) , 45 35 33 28 Byte

n=>n*[...n].reverse().join``

Probieren Sie es online aus!

Ephellon Dantzler
quelle
Willkommen bei PPCG! Du musst nicht zählen f=; Anonyme Funktionen sind standardmäßig zulässig.
Dennis
Schalten Sie heraus (n+"").split("")für [...(n+"")]ein paar Bytes zu speichern. Sie benötigen kein unäres Plus, und die Klammern um die umgekehrte Zeichenfolge sind irrelevant. Alles in allem spart das 10 Bytes.
Kamoroso94
Sie können ersetzen .join("")mit .join``zu speichern 2 Byte.
ATaco
Speichern Sie 5 Bytes, indem Sie die Eingabe als Zeichenfolge verwenden: tio.run/##BcFRCoAgDADQu/ilQYP6t4tEoNgMzTZxIXR6ey/…
Shaggy
4

Gelee , 3 Bytes

×ṚḌ

Ich bin neu bei Jelly, also lassen Sie mich bitte wissen, ob es eine Möglichkeit gibt, dies in 1 oder 2 Bytes zu tun!

Probieren Sie es online aus!

Erläuterung

×ṚḌ    (Input: 12)

 Ṛ     Reversed decimal digits (Stack: [2, 1])
×      Multiply by input       (Stack: [24, 12])
  Ḍ    Convert to decimal      (Stack: 252)
       Implicit print
JungHwan min
quelle
Eigentlich ṚḌ×wäre eine bessere Version. Natürlich würde dies immer noch funktionieren, da die Basen funktionieren.
Erik der Outgolfer
@EriktheOutgolfer Ich habe das ursprünglich zuerst geschrieben, aber das ×aus Fantasie verschoben;)
JungHwan Min
4

Ruby, 25 24 Bytes

->n{n*eval(n.digits*'')}

Probieren Sie es online aus! .

Integer#digits Gibt eine Liste mit umgekehrten Ziffern zurück, sodass keine weitere Umkehrung erforderlich ist.

Vielen Dank an @ benj2240 für das Golfen eines Bytes!

Yytsi
quelle
@ benj2240 danke! :)
Yytsi
Die Auswertungsroute funktioniert nicht wirklich, da das Programm auf 900 mit einem Fehler fehlschlägt, Invalid octal digit (SyntaxError)anstatt die erwarteten 8100 ...
Value Ink
3

ARBLE , 12 Bytes

Nimmt die Eingabe als int auf.

a*reverse(a)

Probieren Sie es online aus!

Ein Taco
quelle
Deshalb habe ich Integer-Eingabe gesagt;), funktioniert int noch?
K Split X
@KSplitX Oh, das habe ich nicht bemerkt. Ich würde diese Einschränkung für etwas unnötig halten, aber es liegt an Ihnen.
ATaco
@KSplitX behoben.
ATaco
Sollte verwendet werden, n * reverse(n)damit es Wort für Wort mit der Spezifikation der Frage übereinstimmt (eine ganze Zahl angegeben n, ausdrucken n * reversed(n))
Okx
3

Python 3, 35 28 Bytes

lambda m:m*int(str(m)[::-1])

Probieren Sie es online aus!

7 Bytes wurden gespart, indem ein Fehler behoben wurde, auf den Dennis hingewiesen hat.

LyricLy
quelle
Nein, es ist klar, du konvertierst in einen String, der ihn [::-1]umkehrt, dann bewerten wir xD
K Split X
Dies funktioniert nicht für Eingabe 80 , da 08es sich um ein ungültiges (oktales) Literal handelt.
Dennis
3
7 Bytes durch Beheben eines Fehlers gespart Lieben Sie es nicht einfach, wenn das passiert ...
ETHproductions
3

Haskell , 27 23 Bytes

4 Bytes dank Lynn und Laikoni gespart

(*)=<<read.reverse.show

Probieren Sie es online aus!

Ad-hoc-Garf-Jäger
quelle
1
23 Bytes ohne Import: Probieren Sie es online aus!
Laikoni
Damit Control.Monadsind auch 23 Bytes : ap(*)$read.reverse.show.
Laikoni
1
Keine Notwendigkeit für Control.Monad. (*)=<<read.reverse.showfunktioniert gut.
Lynn
@ Lynn Danke! Ich habe das Gefühl, ich hätte das sehen sollen.
Ad-hoc-Garf-Jäger
3

Perl 6 , 10 Bytes

{$_*.flip}

Versuch es

Erweitert

{       # bare block lambda with implicit parameter $_
  $_
  *
  .flip # implicit method call on $_
}
Brad Gilbert b2gills
quelle
3

C # .NET, 55 Bytes

n=>{int i=n,j=0;for(;i>0;i/=10)j=j*10+i%10;return n*j;}

Erläuterung:

Probieren Sie es hier aus.

n=>{           // Method with integer as both parameter and return-type
  int i=n,     //  Integer `i` (starting at the input)
      j=0;     //  Integer `j` (starting at 0)
  for(;i>0;    //  Loop as long as `i` is not 0
      i/=10)   //    After every iteration: Remove the last digit of `i`
    j=j*10     //   Add a trailing zero to `j`,
      +i%10;   //   and then sum this new `j` with the last digit of `i`
               //  End of loop (implicit / single-line body)
  return n*j;  //  Return the input multiplied with `j`
}              // End of method
Kevin Cruijssen
quelle
2

Stapel, 87 Bytes

@set s=%1
@set r=
:l
@set/ar=r*10+s%%10,s/=10
@if %s% gtr 0 goto l
@cmd/cset/a%1*r

Hier muss der arithmetische Weg eingeschlagen werden, da die Zeichenfolgenumkehr für einige Zahlen wie 80 fehlschlägt.

Neil
quelle
2

J, 7 Bytes

*|.&.":

Probieren Sie es online aus!

Ich könnte mir keinen kürzeren Weg vorstellen, obwohl ich das für ziemlich elegant halte.

Erläuterung

*|.&.":
   &.":  Convert to string, apply next function, then undo conversion
 |.      Reverse
*        Multiply by input
cole
quelle
2

LISP, 91 64 Bytes

(defun R (N) (defvar M (Write-to-String N)) (Parse-Integer (Reverse M))) (write (* x (R x)))

(defun R(N)(write(* N(parse-integer(reverse(write-to-string N))))))

Wobei x N Ihre ganze Zahl ist, mit der Sie natürlich arbeiten möchten.

Ich bin ziemlich neu in der Programmierung, aber ich habe festgestellt, dass das Ausprobieren dieser Code Golf-Probleme eine gute Übung war. Fehlt mir etwas, das dabei helfen könnte?

EDIT: Dank einiger Tipps von Ceilingcat konnte ich einige Bytes sparen. Altes Programm als Referenz durchgestrichen.

Ästhet
quelle
Willkommen bei Code Golf! Sie können einige Leerzeichen entfernen und möglicherweise eine Variablenzuweisung fallen lassen. Konventionell können Sie möglicherweise auch nur die Ausgabe anstelle von(write ...)
Ceilingcat
Sie können ein Byte mit a lambdaanstelle von speichern defun. Lesen Sie auch Tipps zum Golfen in Lisp
Deckenkatze
2

Bash, 52 48 Bytes

for((i=n=$1;r=r*10+i%10*n,i/=10;));{ :;};echo $r
Nahuel Fouilleul
quelle
Sie können durch do...donegeschweifte Klammern ersetzen , um einige Bytes zu sparen: Probieren Sie es online aus! . Dies ist aus den Tipps für Bash Post.
Justin Mariner
danke, ich bin froh es zu lernen, ich hatte diese Syntax noch nie gesehen und meinen Beitrag aktualisiert
Nahuel Fouilleul
Ist das nicht ein Schock?
Stan Strum
2

Stapel , 150 125 121 Bytes (+ 5 Bytes? cmd/q)

set l=%1
set n=0
set r=
:L
call set t=%%l:~%n%,1%%%
set/an+=1
if [%t%] neq [] set r=%t%%r%&goto L
set/ar=%r%*%l%
echo %r%

25 Benutzer dank user202729 gespeichert !

4 Bytes dank Matheus Avellar gespart !

Ephellon Dantzler
quelle
97 Bytes
user202729
Oder 87 Bytes
user202729
Ist das nicht Batch, nicht Bash? Der TIO für Bash funktioniert hierfür nicht.
Justin Mariner
Ja Ja es ist; Entschuldigung
Ephellon Dantzler
Sie können ifdies auf 121 Bytes einstellen : if [%t%] neq [] set r=%t%%r%&goto L. Ich denke jedoch, dass Sie 1 Byte für das /QFlag einschließen müssen, das übergeben wird, cmddamit es implizit ausgeführt wird@echo off
Matheus Avellar
2

> <>, 41 39 Bytes

:&>:a%:}-\
/~\?)0:,a/
>l1-?\&*n;
\ +*a/

Wie es funktioniert:

:&

Angenommen, die Eingabe wurde in den Stapel verschoben ( https://codegolf.meta.stackexchange.com/a/8493/76025 ). Dupliziere es und speichere eine Kopie im Register.

   >:a%:}-\
   \?)0:,a/

Konvertiert dies in seine einzelnen Ziffern und belässt sie auf dem Stapel.

/~
>l1-?\
\ +*a/

Der Spitzenwert ist aufgrund des Konvertierungsprozesses von Zahl zu Ziffer immer eine Null. Lass es vom Stapel fallen. Während die Länge> 1 ist, multiplizieren Sie das erste Element mit zehn und fügen Sie es dem darunter liegenden Element hinzu. Dies führt zu einer umgekehrten Anzahl.

      &*n;

Multiplizieren Sie die ursprüngliche Zahl mit der Rückseite, drucken Sie die Antwort aus und stoppen Sie.

Bolce Bussiere
quelle
33 Bytes
Jo King
2

Ohm v2 , 2 Bytes

œΠ

Probieren Sie es online aus!

Erläuterung:

œΠ   Main wire, arguments: n

œ    Pushes [n, n.reverse]
 Π   Multiplies that array together
     Implicit output
Nick Clifford
quelle
2
bleibt 4 Monate am Telefon : P
K3v1n
Sie müssen für eine lange Zeit in die Warteschleife gelegt werden, damit es keine Erklärung gibt
MilkyWay90
@ MilkyWay90 Wir sind alle schon anderthalb Jahre in der Warteschleife, oder?
Nick Clifford
@ NickClifford Nicht alle von uns haben
MilkyWay90
1

Mathematica, 19 Bytes

# IntegerReverse@#&

Nimmt eine ganzzahlige Eingabe vor.

JungHwan min
quelle
1

cQuents 0 , 8 Bytes

#|1:A\rA

Probieren Sie es online aus!

Erläuterung

#|1:      Output first term in sequence
    A\rA  Each term in the sequence equals:
           A * \reverse(A)
Stephen
quelle
1

Casio-Basic (fx-CP400), 44 Byte

ExpToStr n,a
StrInv a,a
Print n*strToExp(a)

Es gibt keine integrierte Funktion zum Umkehren einer Ganzzahl, aber eine zum Umkehren einer Zeichenfolge.

ExpToStr n,averwandelt n in einen String und speichert ihn in a, StrInv a,aüberschreibt dann amit der umgekehrten Version von sich. Die letzte Zeile wird azu einer Zahl und wird gedrucktn*a .

43 Bytes für den Code, +1 zur Eingabe nin das Parameterfeld.

Zahlmaniac
quelle
1

Japt, 2 Bytes

Nimmt die Eingabe als Zeichenfolge und gibt eine Ganzzahl aus.

*w

Versuch es

Zottelig
quelle
Wow, ich dachte, es müssten mindestens 4 Bytes sein ... Ich nehme an, es sind nur 3, selbst wenn die Eingabe als Ganzzahl genommen wird*sw
ETHproductions
@ETHproductions: Ja, das hatte ich ursprünglich.
Shaggy
1

MATLAB / Oktave , 33 31 Bytes

@(n)str2num(flip(int2str(n)))*n

Probieren Sie es online aus!

Anonyme Octave / MATLAB-Funktion. Dies ist ein ziemlich naiver Ansatz - konvertiert die Ganzzahl in eine Zeichenfolge, dreht die Zeichenfolge um, konvertiert das Ergebnis zurück in eine Ganzzahl und multipliziert es mit dem Original.


  • Speichern Sie 2 Bytes, indem Sie flipanstelle von verwenden fliplr.
Tom Carpenter
quelle
1

PHP, 23 + 1 Bytes

<?=$argn*strrev($argn);

In Datei speichern und als Pipe mit ausführen -nF.

Titus
quelle
1

MATL , 5 Bytes

VPUG*

Probieren Sie es online aus!

Erläuterung: VKonvertiert in Zeichenfolge, Pdreht sich um, Ukonvertiert zurück in numerische Zeichen, Gkopiert die ursprüngliche Eingabe erneut und *multipliziert sie miteinander.

B. Mehta
quelle
1

Runenverzauberungen , 11 10 Bytes

i:0qr͍n*@

Probieren Sie es online aus!

Nimmt Eingaben auf, dupliziert sie, erzwingt eine Kopie in eine Zeichenfolge, kehrt sie um, erzwingt sie zurück auf einen numerischen Wert, multipliziert und gibt das Ergebnis aus.

0qführt den Zwang zu einer Zeichenfolge durch, indem eine Null am Ende verkettet wird. Es gibt keinen expliziten ToString()Operator, daher ist dies die kürzeste Methode in diesem speziellen Fall, in dem die an den Anfang getauschte 0 den resultierenden numerischen Wert nicht ändert. Vielen Dank an ASCII-only für dieses -1-Byte.

Draco18s vertraut SE nicht mehr
quelle
10
Nur ASCII
@ Nur ASCII Fair genug. Am Ende spiele ich mit den meisten davon bei der Arbeit und komme nicht immer wieder, wenn ich sie zu Hause poste.
Draco18s vertraut SE