LoginSignup
0
0

More than 1 year has passed since last update.

与えられた整数を逆順にして返す処理(Python)

Last updated at Posted at 2023-03-03

概要

タイトルのまんま。
与えられた整数($\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 が容易なので、それを使用する。

  1. str()で文字列化
  2. [::-1]で逆順にする
  3. 数値で返したいので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

最後に

他に方法があれば書き足します。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0