概要
タイトルのまんま。
与えられた整数($\geq0$)を逆順にして返す処理をPythonで書くだけ。
※逆順にした際、先頭の0は除去する。
ex1) 1234 -> 4321
ex2) 10 -> 1
ソースコード
下のソースコードを実行した際に要件を満たす処理を行う関数reverse_int()を作成する。
if __name__ == '__main__':
x = int(input("input: "))
print(revese_int(x))
1. 文字列にする
Pythonは int⇄str が容易なので、それを使用する。
- str()で文字列化
- [::-1]で逆順にする
- 数値で返したいのでint()で整数化。この際、"001"の先頭"00"は消える。
def reverse_int(x):
return int(str(x)[::-1])
2. 除算と剰余を使う
入力された値$X=x_1x_2x_3$に対して$10$で割った時の余りは$x_3$となる。
つまり、$X$の一の桁の数を得ることができる。
また、$X$を$10$で割ったときの商は$x_1x_2$となる。
つまり、一の桁の数を消すことができる。
これらの性質を利用して解くことができる。
def reverse_int(x):
ans = 0
while x > 0:
rem = x % 10
x = x // 10
ans = ans * 10 + rem
return ans
最後に
他に方法があれば書き足します。