int入力nを指定して、n * reversed(n)を出力します


9

整数nを指定して出力n * reversed(n)

reversed(n)は、reverseの桁を取得したときに取得する数値です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

最短のコードが勝ちます!

リーダーボード

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 '10 / 10/17

001、ただしいずれの場合も、前に追加のゼロがある場合は問題ありません
K Split X

4
なぜ反対票を投じるのですか?この課題は取るに足りない(他のいくつかの課題と比較して、そうではない!)か、形式が正しくないか不明確なためですか?
user202729 2017年

2
@ user202729回答に対する多様性や深さを多く見たり予想したりしなかったため、反対票を投じました。この質問は退屈です、私はそれを試しました。退屈である理由の1つは、その些細なことです。これは、それ自体で質問に反対票を投じるのにぴったりの原因だと思います。
アドホックガーフハンター

回答:



4

JavaScript(SpiderMonkey)45 35 33 28バイト

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

オンラインでお試しください!


PPCGへようこそ!数える必要はありませんf=。匿名関数はデフォルトで許可されています。
Dennis、

アウトスイッチ(n+"").split("")のための[...(n+"")]いくつかのバイトを保存します。単項プラスは必要ありません。逆の文字列を囲む括弧は無関係です。全体として、10バイト節約できます。
kamoroso94

で置き換える.join("").join``2バイト節約できます。
ATaco

入力を文字列として取得して5バイトを節約します。tio.run
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 2017年

@EriktheOutgolfer私は最初にそれを最初に書いたが、空想の×ために移動した;)
JungHwan Min

4

Ruby、25 24バイト

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

オンラインでお試しください!

Integer#digits 反転した数字のリストを返すので、それ以上の反転は必要ありません。

バイトをゴルフしてくれた@ benj2240に感謝!



@ benj2240ありがとう!:)
Yytsi 2018

Invalid octal digit (SyntaxError)予想される8100を返す代わりに、900でプログラムがエラーで失敗するため、evalルートは実際には機能しません...
Value Ink


3

ARBLE、12バイト

入力をintとして受け取ります。

a*reverse(a)

オンラインでお試しください!


それが私が整数入力と言った理由です;)、intはまだ機能しますか?
K Split X

@KSplitXああ、気づかなかった。その制限は少し不必要だと思いますが、それはあなた次第です。
ATaco、2017年

@KSplitX修正されました。
ATaco、2017年

n * reverse(n)質問の仕様とnn * reversed(n)
完全

3

Pythonの3、35の 28バイト

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

オンラインでお試しください!

Dennisによって指摘されたバグを修正することにより、7バイトを節約しました。


わかりません。文字列に変換し[::-1]、それを逆にしてから、xDを評価します
K Split X

これは、無効な(8進数の)リテラルと同様に、入力80では機能しません08
Dennis

3
バグを修正して7バイトを節約しました。発生したときに
気に入ら

3

Haskell27 23バイト

リンとライコニのおかげで4バイト節約

(*)=<<read.reverse.show

オンラインでお試しください!


1
インポートなしの23バイト:オンラインでお試しください!
Laikoni

それでControl.Monadまた23バイトです:ap(*)$read.reverse.show
Laikoni

1
必要はありませんControl.Monad(*)=<<read.reverse.show正常に動作します。
Lynn

@リンありがとう!私はそれを見るべきだったような気がします。
アドホックガーフハンター2017


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)))(write(* x(R x))))

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

ここで、x Nはもちろん、操作したい整数です。

私はプログラミングにかなり慣れていませんが、これらのコードゴルフの問題を試すことは素晴らしい習慣であることがわかりました。これに役立つ可能性のある欠けているものはありますか?

編集:ceilingcatからのいくつかのヒントのおかげで、私は数バイトを削ることができました。参照用に取り消し線で保存された古いプログラム。


Welcome to Code Golf! You can eliminate some whitespace and maybe ditch a variable assignment. Also, by convention you may be able to just return the output instead of (write ...)
ceilingcat

You can save a byte using a lambda instead of defun. Also, read tips for golfing in lisp
ceilingcat

2

bash, 52 48 bytes

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

do...done中括弧で置き換えると、バイトを節約できます。オンラインでお試しください!。これは、Bashポストのヒントからです。
ジャスティンマリナー

ありがとう、私はそれを学ぶことができてうれしいです。私はこの構文を見たことがなく、私の投稿を更新しました
Nahuel Fouilleul

そのシェルショックではないですか?
スタン・ストラム

2

バッチ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%

user202729のおかげで25バイトを節約

Matheus Avellarのおかげで4バイト節約されました!




このバッチではなく、バッシュではありませんか?bashのTIOはこれには機能しません。
ジャスティンマリナー

はい、そうです。申し訳ありません
Ephellon Dantzler '10 / 10/17

if121バイトになるようにインライン化できます if [%t%] neq [] set r=%t%%r%&goto L。ただし、/Q渡されたフラグに1バイトを含める必要があるため、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の間に、最初のアイテムに10を掛けて、その下のアイテムに追加します。これにより、数値が逆になります。

      &*n;

元の数に逆数を掛けて、答えを印刷し、停止します。



2

オームv2、2バイト

œΠ

オンラインでお試しください!

説明:

œΠ   Main wire, arguments: n

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

2
4か月間電話に留まる:P
K3v1n 2018

説明がないため、長時間保留にする必要があります
MilkyWay90

@ MilkyWay90私たちは皆、1年半前から保留になっていますよね?
Nick Clifford

@NickClifford私たち全員が持っているわけではありません
MilkyWay90




1

カシオベーシック(fx-CP400)、44バイト

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

整数を逆にするための組み込みはありませんが、文字列を逆にするための組み込みはあります。

ExpToStr n,anを文字列に変換してに格納しa、それ自体の逆バージョンでStrInv a,a上書きaします。最後の行はa数字になり、を出力しn*aます。

43バイトのコード、+ 1をnパラメーターボックスに入力します。






1

PHP、23 + 1バイト

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

ファイルに保存し、でパイプとして実行します-nF




1

Runic Enchantments11 10バイト

i:0qr͍n*@

オンラインでお試しください!

入力を受け取り、それを複製し、1つのコピーを文字列に強制変換し、それを逆にして、強制的に数値に戻し、乗算して、結果を出力します。

0q末尾にゼロを連結することにより、文字列への型強制を実行します。明示的なToString()演算子はないため、これは、最初にスワップされた0が結果の数値を変更しないこの特定のケースでの最短の方法です。この-1バイトのASCIIのみに感謝します。



@ASCIIのみで十分です。私はこれらのほとんどを仕事でいじくり回すことになり、自宅に投稿するときにいつも再訪するわけではありません。
Draco18sは
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.