回答:
‮n
n
あなたの番号に置き換えてください
Your search -
-どのドキュメントとも一致しませんでした。
data:text/html,&%238238;egnahcxEkcatS olleH
Python
int(str(76543)[::-1])
編集:
@gnibblerが提案する短いソリューション:
int(`76543`[::-1])
または、上記が不明な場合:
x=76543
int(`x`[::-1])
s[::-1]
よりもはるかに高速です''.join(reversed(s))
ユニバーサル(言語非依存/独立)
あなたが使用したい場合は数字のみ(回避は、数値を文字列に変換する)としていないいくつか使用したい特定の(任意の言語のための普遍的なする)ライブラリ:
x = 76543 # or whatever is your number
y = 0
while x > 0:
y *= 10
y += ( x %10 )
x /= 10 # int division
これはpythonですが、数学メソッドにすぎないため、どの言語でも実行できます。
mod
に%
、それは有効なPythonだ;)
y=y*10+x%10
....
上記のキリルキーロフの答えに触発されました。数値を逆にすることの数学的な性質に興味があったので、少し調べてみることにしました。
いくつかのbase でn - rev(n)
自然数の差をプロットすると、次のようなパターンが得られます(、for 、列でラップ、赤は負の数を示します):n
r
(n - rev(n)) / (r - 1)
r=10
r
このシーケンスは次のように生成できます(擬似コード):
for i=1 to r:
output 0
for m=0, 1, …
for k=1 to (r-1):
for d=1 to r^m:
for i=0 to (r-1):
output (r-1) * (r+1)^m * (k - i)
これらの値をリスト/配列に保存n - arr[n]
すると、の逆の形式になりn
ます。さて、これを「数学的にゴルフ」するには、理想的には、シーケンス全体のn:番目の値を与える閉形式の表現が必要です。これにより、タスク全体を解くための閉形式の表現ができます。残念ながら、私はそのような表現を見つけることができませんでした...しかし、それは可能なはずのように見えます。:(
そう、数学の好奇心というよりコードゴルフではありませんが、上記のシーケンスの閉形式表現がある場合、それは実際に適切なPLゴルフの提出に役立つかもしれません。
:se ri<CR>C<C-R>"
数値を文字列に変換し、文字列を逆にしてから、その文字列を数値に戻すことができます。この種の機能は、おそらくすべての言語で利用できます。より数学的な方法を探しているなら、これは役に立つかもしれません:
int n = 76543;
int r = 0;
while (n > 0) {
r *= 10;
r += n % 10;
n /= 10;
}
1111111119
シェルスクリプトで:
echo "your number"|rev
これが役に立てば幸いです:)
rev<<<yournumber
、例えばrev<<<132
(bashの/ zshのためではなく、POSIXあたりが)
rev
問題は、それは言っていない、十分である持っている機能であることを。rev
組み込み関数ではありませんが、組み込み関数と比較できます。
IntegerReverse
この関数は先週の10.3リリースでのみ追加されたため、これは競合していませんが、完全を期すために、このタスクにこれまでに(と思う?)ビルトインのみを追加すると思いました。
Javaで次のことができます。これは文字列に変換され、逆に変換されるため、数学的な解決策ではないことに注意してください。
public class test {
public static int reverseInt(int i) {
return Integer.valueOf((new StringBuffer(String.valueOf(i))).reverse().toString());
}
public static void main(String[] args) {
int i = 1234;
System.out.println("reverse("+i+") -> " + reverseInt(i));
}
}
43文字。関数のパラメーターとしてのnum:
num.toString().split('').reverse().join('')
(first(list(parse-integer(reverse(write-to-string '4279)))))
will get you 9724.
(first(list
? parse-integer
already returns the number.
#
+#(.*)(.)/\2#\1
#/
Technically, this doesn't count (rs was created earlier this year), but I didn't see any other regex-based answers, and I thought this was neat.
#
Insert a pound character at the beginning of the string. This is used as a marker.
+#(.*)(.)/\2#\1
Continuously prepend the last character of the main string to the area before the marker until there are no characters left.
#/
Remove the marker.