Diberikan input int n, cetak n * terbalik (n)


9

Diberikan bilangan bulat n, cetakn * reversed(n)

reversed(n)adalah angka yang Anda dapatkan ketika Anda reversedigit 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

Kode terpendek menang!

Papan peringkat

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
Apa kebalikannya 100?
tsh

001, tetapi bagaimanapun, tidak masalah jika Anda memiliki angka nol tambahan di depan
K Split X

4
Mengapa downvote? Karena tantangan ini terlalu sepele (dibandingkan dengan beberapa tantangan lain, bukan!) Atau karena formatnya buruk / tidak jelas?
user202729

2
@ user202729 Saya downvoted karena saya tidak melihat atau mengantisipasi banyak variasi atau kedalaman jawaban. Pertanyaan ini membosankan, saya mencobanya. Salah satu alasan mengapa hal itu membosankan adalah karena sepele, yang menurut saya merupakan alasan sempurna untuk mengecilkan pertanyaan sendiri.
Ad Hoc Garf Hunter

Jawaban:


10

05AB1E , 2 byte

R*

Cobalah online!

Dalam 05AB1E, bilangan bulat dan string diperlakukan sebagai tipe yang setara, jadi pembalikan ( R) dikonversi menjadi string dan pembalikan, sementara multiplikasi ( *) memperlakukan pembalikan dan input sebagai bilangan bulat.


4
Â*juga berlaku: D.
Magic Octopus Mm

4

JavaScript (SpiderMonkey) , 45 35 33 28 byte

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

Cobalah online!


Selamat datang di PPCG! Anda tidak harus menghitung f=; fungsi anonim diizinkan secara default.
Dennis

Beralih (n+"").split("")ke [...(n+"")]untuk menyimpan beberapa byte. Anda tidak perlu plus unary, dan tanda kurung di sekitar string yang dibalik tidak cocok. Semua dalam semua, itu menghemat 10 byte.
kamoroso94

Anda dapat mengganti .join("")dengan .join``untuk menyimpan 2 byte.
ATaco

Simpan 5 byte dengan mengambil input sebagai string: tio.run/##BcFRCoAgDADQu/ilQYP6t4tEoNgMzTZxIXR6ey/…
Shaggy

4

Jelly , 3 byte

×ṚḌ

Saya baru mengenal Jelly, jadi beri tahu saya jika ada cara untuk melakukan ini dalam 1 atau 2 byte!

Cobalah online!

Penjelasan

×ṚḌ    (Input: 12)

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

Sebenarnya ṚḌ×akan menjadi versi yang lebih baik. Tentu saja ini masih akan berhasil, karena cara kerja pangkalan.
Erik the Outgolfer

@EriktheOutgolfer Saya awalnya menulis itu dulu, tetapi menggerakkannya ×untuk kesenangan;)
JungHwan Min

4

Ruby, 25 24 byte

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

Cobalah secara Online! .

Integer#digits mengembalikan daftar digit terbalik, jadi pembalikan lebih lanjut tidak diperlukan.

Terima kasih kepada @ benj2240 untuk bermain golf satu byte!



@ benj2240 terima kasih! :)
Yytsi

Rute eval tidak benar-benar berfungsi, karena akan menyebabkan program gagal pada 900 dengan kesalahan Invalid octal digit (SyntaxError)alih-alih mengembalikan yang diharapkan 8100 ...
Value Ink


3

ARBLE , 12 byte

Mengambil input sebagai int.

a*reverse(a)

Cobalah online!


Itulah mengapa saya mengatakan input integer;), apakah int masih berfungsi?
K Split X

@KSplitX Oh, saya tidak menyadarinya. Saya pikir pembatasan itu agak tidak perlu, tetapi terserah Anda.
ATaco

@KSplitX Diperbaiki.
ATaco

Harus digunakan n * reverse(n)sehingga cocok dengan spesifikasi kata kata demi kata (Diberikan bilangan bulat n, cetak n * reversed(n))
Okx

3

Python 3, 35 28 byte

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

Cobalah online!

Disimpan 7 byte dengan memperbaiki bug yang ditunjukkan oleh Dennis.


Nah ini jelas, Anda mengonversi ke string, [::-1]membalikkannya, lalu kami eval xD
K Split X

Ini tidak berfungsi untuk input 80 , seperti 08literal yang tidak valid (oktal).
Dennis

3
Disimpan 7 byte dengan memperbaiki bug. Jangan Anda menyukainya saat itu terjadi ...
ETHproduksi



3

C # .NET, 55 byte

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

Penjelasan:

Coba di sini.

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

Batch, 87 byte

@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

Perlu mengambil rute aritmatika di sini karena pembalikan string gagal untuk beberapa angka seperti 80.


2

J, 7 byte

*|.&.":

Cobalah online!

Tidak bisa memikirkan cara yang lebih pendek, meskipun saya merasa ini cukup elegan.

Penjelasan

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


2

LISP, 91 64 byte

(defun R (N) (defvar M (write-to-string N)) (parse-integer (M terbalik))) (tulis (* x (R x)))

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

Di mana x N adalah bilangan bulat yang ingin Anda kerjakan, tentu saja.

Saya cukup baru dalam pemrograman, tetapi saya telah menemukan bahwa mencoba masalah Golf Code ini merupakan latihan yang bagus. Apakah ada sesuatu yang saya lewatkan yang dapat membantu dengan ini?

EDIT: Berkat beberapa tips dari ceilingcat, saya dapat mencukur beberapa byte. Program lama disimpan dalam coretan untuk referensi.


Selamat datang di Golf Code! Anda dapat menghilangkan spasi putih dan mungkin mengabaikan tugas variabel. Juga, dengan konvensi, Anda mungkin dapat mengembalikan output saja(write ...)
ceilingcat

Anda dapat menyimpan byte menggunakan lambdabukan defun. Baca juga tips bermain golf di
lisp


2

Batch , 150 125 121 byte (+ 5 byte? 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%

Disimpan 25 byte berkat pengguna202729 !

Disimpan 4 byte berkat Matheus Avellar !




Bukankah ini Batch, bukan Bash? TIO untuk bash tidak berfungsi untuk ini.
Justin Mariner

Ya, ya itu; maaf soal itu
Ephellon Dantzler

Anda dapat inline yang ifberada di 121 bytes: if [%t%] neq [] set r=%t%%r%&goto L. Namun, saya pikir Anda harus memasukkan 1 byte untuk /Qbendera yang dilewati cmdagar berjalan dengan implisit@echo off
Matheus Avellar

2

> <>, 41 39 Bytes

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

Bagaimana itu bekerja:

:&

Asumsikan input telah didorong ke stack ( https://codegolf.meta.stackexchange.com/a/8493/76025 ). Gandakan dan simpan salinan dalam register.

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

Ubah ini menjadi masing-masing digit, meninggalkannya di tumpukan.

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

Nilai teratas akan selalu nol karena proses konversi angka ke digit; jatuhkan dari tumpukan. Sekarang, sementara panjangnya> 1, kalikan item pertama dengan sepuluh dan tambahkan ke item di bawahnya. Ini menghasilkan angka terbalik.

      &*n;

Lipat gandakan nomor aslinya dengan terbalik, cetak jawabannya, dan berhenti.



2

Ohm v2 , 2 byte

œΠ

Cobalah online!

Penjelasan:

œΠ   Main wire, arguments: n

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

2
tetap di telepon selama 4 bulan : P
K3v1n

Anda harus ditahan untuk waktu yang lama agar tidak ada penjelasan
MilkyWay90

@ MilkyWay90 Kita semua pernah ditahan selama satu setengah tahun sebelumnya, kan?
Nick Clifford

@NickClifford Tidak semua dari kita memiliki
MilkyWay90




1

Casio-Basic (fx-CP400), 44 byte

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

Tidak ada bawaan untuk membalik bilangan bulat, tetapi ada satu untuk membalikkan string.

ExpToStr n,amengubah n menjadi string dan menyimpannya a, lalu StrInv a,amenimpa adengan versi yang dibalik itu sendiri. Baris terakhir berubah amenjadi angka, dan dicetak n*a.

43 byte untuk kode, +1 untuk dimasukkan nke dalam kotak parameter.


1

Japt, 2 byte

Mengambil input sebagai string, menghasilkan integer.

*w

Cobalah


Wow, saya pikir itu harus setidaknya 4 byte ... Saya kira itu hanya 3 bahkan jika mengambil input sebagai integer*sw
ETHproduksi

@ ETHproductions: yeah, itulah yang awalnya saya miliki.
Shaggy

1

MATLAB / Oktaf , 33 31 byte

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

Cobalah online!

Oktaf / MATLAB fungsi anonim. Ini adalah pendekatan yang cukup naif - mengonversi bilangan bulat menjadi string, membalikkan string, mengubah hasilnya kembali menjadi bilangan bulat dan mengalikannya dengan yang asli.


  • Simpan 2 byte dengan menggunakan flipbukan fliplr.



1

PHP, 23 +1 byte

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

Simpan ke file dan jalankan sebagai pipa dengan -nF.



1

MATL , 5 byte

VPUG*

Cobalah online!

Penjelasan: Vmengkonversi ke string, Pmembalik, Umengubah kembali ke numerik, Gmenyalin input asli lagi, dan *mengalikannya bersama.


1

Pesona Rise , 11 10 byte

i:0qr͍n*@

Cobalah online!

Mengambil input, menduplikat, memaksa satu salinan ke string, membalikkannya, memaksanya kembali ke nilai numerik, mengalikan, dan mengeluarkan hasilnya.

0qmelakukan paksaan ke string dengan menggabungkan nol ke ujung. Tidak ada ToString()operator eksplisit , jadi ini adalah metode terpendek dalam kasus khusus ini di mana 0 bertukar ke awal tidak mengubah nilai numerik yang dihasilkan. Berkat ASCII-only untuk -1 byte ini.



@ ASCII-only Cukup adil. Saya akhirnya mengutak-atik sebagian besar ini di tempat kerja dan tidak selalu mengunjungi kembali ketika saya mempostingnya di rumah.
Draco18 tidak lagi percaya
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.