รับอินพุท int n พิมพ์ n * กลับด้าน (n)


9

รับจำนวนเต็มnพิมพ์ออกมาn * reversed(n)

reversed(n)เป็นหมายเลขที่คุณได้รับเมื่อคุณตัวเลขของreversen


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

รหัสที่สั้นที่สุดชนะ!

ลีดเดอร์บอร์ด

code-golf  math  arithmetic  code-golf  math  integer  code-golf  arithmetic  integer  code-golf  sequence  base-conversion  palindrome  code-golf  math  primes  integer  code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

3
อะไรคือสิ่งที่ตรงกันข้าม100?
tsh

001แต่ไม่ว่าในกรณีใดมันก็ดีถ้าคุณมีเลขศูนย์หน้าเพิ่มเติม
K Split X

4
ทำไมต้องลงคะแนน เพราะความท้าทายนี้เล็กน้อยเกินไป (เทียบกับความท้าทายอื่น ๆ ไม่ใช่!) หรือเพราะมันมีรูปแบบที่ไม่ดี / ไม่ชัดเจน?
user202729

2
@ user202729 ฉันลงคะแนนเพราะฉันไม่เห็นหรือคาดหวังคำตอบที่หลากหลายหรือมีความลึกมากมาย คำถามนี้น่าเบื่อฉันลองแล้ว ส่วนหนึ่งของเหตุผลที่มันน่าเบื่อก็เพราะเรื่องเล็กน้อยซึ่งฉันคิดว่าเป็นสาเหตุที่สมบูรณ์แบบที่จะลบล้างคำถามด้วยตัวเอง
Ad Hoc Garf Hunter

คำตอบ:


10

05AB1E , 2 ไบต์

R*

ลองออนไลน์!

ใน 05AB1E, จำนวนเต็มและสตริงจะถือว่าเป็นชนิดที่เทียบเท่าดังนั้นการกลับรายการ ( R) จะแปลงเป็นสตริงและการย้อนกลับในขณะที่การคูณ ( *) จะใช้การย้อนกลับและอินพุตเป็นจำนวนเต็ม


4
Â*ถูกต้องเช่นกัน: D
Magic Octopus Urn

4

JavaScript (SpiderMonkey) , 45 35 33 28 ไบต์

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

ลองออนไลน์!

  • บันทึก 2 ไบต์ด้วยเดนนิส
  • บันทึก 8 ไบต์ขอบคุณkamoroso94
  • บันทึก 2 ไบต์ขอบคุณATaco
  • บันทึก 5 ไบต์ขอบคุณShaggy

ยินดีต้อนรับสู่ PPCG! คุณไม่ต้องนับf=; ฟังก์ชั่นที่ไม่ระบุชื่อได้รับอนุญาตตามค่าเริ่มต้น
เดนนิส

เปลี่ยน(n+"").split("")เป็น[...(n+"")]เพื่อบันทึกไม่กี่ไบต์ คุณไม่จำเป็นต้องใช้เครื่องหมายบวกและวงเล็บที่อยู่รอบ ๆ สตริงที่ตรงกันข้ามนั้นเป็นสิ่งที่ไม่เกี่ยวข้อง ทั้งหมดนั้นช่วยให้คุณประหยัด 10 ไบต์
kamoroso94

คุณสามารถแทนที่.join("")ด้วย.join``เพื่อบันทึก 2 ไบต์
ATaco

บันทึก 5 ไบต์โดยการป้อนข้อมูลเป็นสตริง: tio.run/##BcFRCoAgDADQu/ilQYP6t4tEoNgMzTZxIXR6ey/ ......
Shaggy

4

เยลลี่ 3 ไบต์

×ṚḌ

ฉันยังใหม่กับ Jelly ดังนั้นโปรดแจ้งให้เราทราบหากมีวิธีการทำเช่นนี้ใน 1 หรือ 2 ไบต์!

ลองออนไลน์!

คำอธิบาย

×ṚḌ    (Input: 12)

 Ṛ     Reversed decimal digits (Stack: [2, 1])
×      Multiply by input       (Stack: [24, 12])
  Ḍ    Convert to decimal      (Stack: 252)
       Implicit print

อันที่จริงṚḌ×จะเป็นรุ่นที่ดีกว่า แน่นอนว่าสิ่งนี้จะยังคงทำงานได้เนื่องจากฐานทำงานอย่างไร
Erik the Outgolfer

@EriktheOutgolfer ฉันเขียนตอนแรก แต่ย้าย×เพื่อความเพ้อฝัน;)
JungHwan Min

4

Ruby, 25 24 ไบต์

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

ลองออนไลน์! .

Integer#digits ส่งกลับรายการของตัวเลขที่กลับรายการดังนั้นไม่จำเป็นต้องย้อนกลับอีก

ขอบคุณ@ benj2240สำหรับการเล่นไบต์!



@ benj2240 ขอบคุณ! :)
Yytsi

เส้นทาง eval ใช้งานไม่ได้จริงเพราะจะทำให้โปรแกรมล้มเหลวใน 900 ด้วยข้อผิดพลาดInvalid octal digit (SyntaxError)แทนที่จะส่งคืน 8100 ที่คาดไว้ ...
Value Ink


3

ARBLEขนาด 12 ไบต์

รับอินพุตเป็น int

a*reverse(a)

ลองออนไลน์!


นั่นเป็นเหตุผลที่ฉันบอกว่าอินพุตจำนวนเต็ม;) int ยังทำงานได้หรือไม่
K Split X

@KSplitX โอ้ฉันไม่สังเกตเห็นว่า ฉันคิดว่าข้อ จำกัด นั้นไม่จำเป็น แต่ขึ้นอยู่กับคุณ
ATaco

@KSplitX แก้ไขแล้ว
ATaco

ควรใช้n * reverse(n)เพื่อให้ตรงกับคำสเปคของคำถามสำหรับคำ (ให้เป็นจำนวนเต็มnพิมพ์ออกมาn * reversed(n))
Okx

3

Python 3, 35 28 ไบต์

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

ลองออนไลน์!

บันทึก 7 ไบต์ด้วยการแก้ไขข้อผิดพลาดที่ Dennis ระบุ


ไม่ชัดเจนคุณแปลงเป็นสตริง[::-1]ย้อนกลับจากนั้นเราประเมิน xD
K Split X

สิ่งนี้ใช้ไม่ได้กับอินพุต80เนื่องจาก08เป็นตัวอักษรที่ไม่ถูกต้อง (ฐานแปด)
Dennis

3
บันทึก 7 ไบต์ด้วยการแก้ไขข้อผิดพลาดคุณไม่ชอบเมื่อมันเกิดขึ้น ...
ETHproductions

3

Haskell , 27 23 ไบต์

บันทึกได้ 4 ไบต์ด้วย Lynn และ Laikoni

(*)=<<read.reverse.show

ลองออนไลน์!


1
23 ไบต์โดยไม่ต้องนำเข้า: ลองออนไลน์!
Laikoni

ด้วยControl.Monadมันก็ยังเป็น 23 ap(*)$read.reverse.showไบต์:
Laikoni

1
Control.Monadไม่จำเป็นต้อง (*)=<<read.reverse.showทำงานได้ดี
ลินน์

@ ลินน์ขอบคุณ! ฉันรู้สึกว่าฉันควรจะได้เห็นว่า
Ad Hoc Garf Hunter


3

C # .NET, 55 ไบต์

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

คำอธิบาย:

ลองที่นี่

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

2

แบตช์ 87 ไบต์

@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

จำเป็นต้องใช้เส้นทางเลขคณิตที่นี่เนื่องจากการย้อนกลับสตริงล้มเหลวสำหรับบางหมายเลขเช่น 80


2

J, 7 ไบต์

*|.&.":

ลองออนไลน์!

ไม่สามารถคิดวิธีที่สั้นกว่านี้ได้ แต่ฉันรู้สึกว่ามันสวยมาก

คำอธิบาย

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


2

LISP, 91 64ไบต์

(defun R (N) (defvar M (write-to-string N)) (parse-integer (reverse M))) (เขียน (* x (R x)))

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

ที่x N คือจำนวนเต็มของคุณที่คุณต้องการใช้งาน

ฉันค่อนข้างใหม่กับการเขียนโปรแกรม แต่ฉันพบว่าการลองใช้ปัญหา Code Golf เหล่านี้เป็นวิธีที่ดี มีบางอย่างที่ฉันขาดหายไปที่สามารถช่วยได้หรือไม่

แก้ไข: ขอบคุณเคล็ดลับจากแมวป่าทำให้ฉันสามารถที่จะโกนออกไม่กี่ไบต์ โปรแกรมเก่าเก็บรักษาไว้ใน strikethrough สำหรับการอ้างอิง


ยินดีต้อนรับสู่ Code Golf! คุณสามารถกำจัดช่องว่างและอาจกำหนดตัวแปร นอกจากนี้ตามระเบียบคุณอาจจะสามารถส่งคืนผลลัพธ์แทน(write ...)
ceilingcat

คุณสามารถบันทึกไบต์โดยใช้แทนlambda defunนอกจากนี้อ่านเคล็ดลับสำหรับการเล่นกอล์ฟใน lisp
ceilingcat

2

bash, 52 48 ไบต์

for((i=n=$1;r=r*10+i%10*n,i/=10;));{ :;};echo $r

คุณสามารถแทนที่do...doneด้วยเครื่องมือจัดฟันหยิกเพื่อบันทึกไบต์: ลองออนไลน์! . นี่คือจากเคล็ดลับสำหรับการโพสต์Bash
Justin Mariner

ขอบคุณคุณฉันดีใจที่ได้เรียนรู้ฉันไม่เคยเห็นไวยากรณ์นี้อัปเดตโพสต์ของฉัน
Nahuel Fouilleul

ไม่ใช่กระสุนปืนใช่ไหม
Stan Strum

2

Batch , 150 125 121 ไบต์ (+ 5 ไบต์? 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 ไบต์ขอบคุณuser202729 !

บันทึกแล้ว 4 ไบต์ขอบคุณMatheus Avellar !




ไม่ใช่แบตช์นี้ไม่ใช่แบชใช่ไหม TIO สำหรับ bash ไม่ทำงานสำหรับสิ่งนี้
Justin Mariner

ใช่มันเป็น; ขออภัยเกี่ยวกับสิ่งนั้น
Ephellon Dantzler

คุณสามารถ inline ว่าifจะอยู่ที่ 121 if [%t%] neq [] set r=%t%%r%&goto Lไบต์: อย่างไรก็ตามฉันคิดว่าคุณต้องมี 1 ไบต์สำหรับ/Qธงที่ผ่านไปcmdดังนั้นมันจึงทำงานโดยปริยาย@echo off
Matheus Avellar

2

> <>, 41 39 ไบต์

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

มันทำงานอย่างไร:

:&

สมมติว่าอินพุตถูกส่งไปที่สแต็ก ( https://codegolf.meta.stackexchange.com/a/8493/76025 ) ทำซ้ำและเก็บสำเนาไว้ในทะเบียน

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

แปลงค่านี้เป็นตัวเลขแต่ละตัวทิ้งไว้ในสแต็ก

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

ค่าสูงสุดจะเป็นศูนย์เสมอเนื่องจากกระบวนการแปลงตัวเลขเป็นหลัก วางจากกอง ทีนี้ในขณะที่ความยาวคือ> 1 ให้คูณไอเท็มแรกทีละสิบและเพิ่มเข้าไปในรายการด้านล่าง ผลลัพธ์นี้ในจำนวนที่ตรงกันข้าม

      &*n;

ทวีคูณจำนวนเดิมด้วยการย้อนกลับพิมพ์คำตอบและหยุด



2

โอห์ม v2 , 2 ไบต์

œΠ

ลองออนไลน์!

คำอธิบาย:

œΠ   Main wire, arguments: n

œ    Pushes [n, n.reverse]
 Π   Multiplies that array together
     Implicit output

2
อยู่ในโทรศัพท์เป็นเวลา 4 เดือน : P
K3v1n

คุณต้องถูกระงับไว้เป็นเวลานานเพื่อที่จะไม่มีคำอธิบาย
MilkyWay90

@ MilkyWay90 เราเคยถูกระงับไว้หนึ่งปีครึ่งก่อนใช่ไหม?
Nick Clifford

@NickClifford ไม่ใช่เราทุกคนมี
MilkyWay90




1

Casio-Basic (fx-CP400), 44 ไบต์

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

ไม่มีในตัวสำหรับการกลับจำนวนเต็ม แต่มีหนึ่งสำหรับการย้อนกลับสตริง

ExpToStr n,aเปลี่ยน n เป็นสตริงและเก็บไว้ในaจากนั้นStrInv a,aเขียนทับaด้วยเวอร์ชันที่ตรงกันข้ามของตัวเอง บรรทัดสุดท้ายเปลี่ยนaเป็นตัวเลขแล้วพิมพ์n*aออกมา

43 ไบต์สำหรับรหัส +1 เพื่อป้อนnลงในกล่องพารามิเตอร์


1

Japtap, 2 ไบต์

รับอินพุตเป็นสตริงส่งออกจำนวนเต็ม

*w

ลองมัน


ว้าวฉันคิดว่ามันจะต้องเป็น 4 ไบต์อย่างน้อย ... ฉันคิดว่ามันแค่ 3 แม้ว่าจะรับอินพุตเป็นจำนวนเต็ม*sw
ETHproductions

@ ETHproductions: ใช่นั่นคือสิ่งที่ฉันมีในตอนแรก
Shaggy

1

MATLAB / Octave , 33 31 ไบต์

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

ลองออนไลน์!

ฟังก์ชั่นที่ไม่ระบุชื่อคู่ / MATLAB นี่เป็นวิธีที่ไร้เดียงสา - แปลงจำนวนเต็มเป็นสตริงพลิกสตริงแล้วแปลงผลลัพธ์กลับเป็นจำนวนเต็มและคูณด้วยค่าเดิม


  • บันทึก 2 ไบต์โดยใช้แทนflipfliplr






1

ตรารูน , 11 10 ไบต์

i:0qr͍n*@

ลองออนไลน์!

รับอินพุตทำซ้ำสำเนา coerces หนึ่งสำเนาให้กับสตริงย้อนกลับบีบอัดกลับเป็นค่าตัวเลขทวีคูณและแสดงผลลัพธ์

0qทำการบีบบังคับกับสตริงโดยการต่อศูนย์เข้ากับท้าย ไม่มีToString()โอเปอเรเตอร์ที่ชัดเจนดังนั้นนี่เป็นวิธีที่สั้นที่สุดในกรณีนี้โดยเฉพาะที่ 0 การสลับไปที่จุดเริ่มต้นไม่ได้เปลี่ยนแปลงค่าตัวเลขที่ได้ ขอบคุณ ASCII-only สำหรับ -1 ไบต์นี้



@ ASCII เท่านั้นที่ยุติธรรมเพียงพอ ฉันเล่นซอกับสิ่งเหล่านี้ส่วนใหญ่ที่ทำงานและไม่ได้กลับมาเยี่ยมเสมอเมื่อฉันไปโพสต์ที่บ้าน
Draco18 ไม่ไว้วางใจ SE
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.