どもども、最近疲れやら悩み事やらが増えているとある学生です。
というわけで、4問目書いていきます。
(3問目はちょっと難しかったのでいったん飛ばします。頭いい人ヒントください)
Problem_4.py
#左右どちらから読んでも同じ値になる数を回文数という.
#2桁の数の積で表される回文数のうち, 最大のものは 9009 = 91 × 99 である.
#では, 3桁の数の積で表される回文数の最大値を求めよ.
max_num = 1000
max_ans = 0
for i in range(100, max_num):
for j in range(100, max_num):
num = i * j
num_str = str(num)
if num_str == num_str[::-1] and num > max_ans:
max_ans = num
print(max_ans)
解 906609
はい、私はこう書きました。
####解き方の解説をしていきます。
最初のグローバル関数2つが問題に書いてある最大数と、答えを入れる用の箱です。
後は、100から1000までi * jをしつつ、掛け算をして出たものと、それを逆にしたものが同じで、numより大きければその答えをprintする感じです。
こんな感じですかね?もしわからないやアドバイス等あればコメントしていただければと思います(答えるとは言っていない)
というわけで気が向いたら次のも見てってください。よろしくお願いします。