考えて競プロする

プログラミングコンテストの問題をどう考えて解いたかを記録していくブログです。使用言語はPython3

ABC090-B - Palindromic Numbers を解く

ABC090-B - Palindromic Numbers

 

10000 <= A <= B <= 99999 の制約で A , B が与えられる

A以上B以下の回文数はいくつあるかを答える問題

 

回文数とは、例えば 19291 のような数字

前から読んでも後ろから読んでも同じ文字列になる正の整数のことを指す

 

今回、制約によって、A , B はどちらも 5桁 となるので

3桁目はどんな数であっても問題ないということになる

(例えば、19x91 の形式なら、x が 0 〜 9 のいずれであっても回文数となる)

 

したがって、「1桁目5桁目が一致する」かつ「2桁目4桁目が一致する」

場合が回文数となる条件となる(例:34143 , 56765 , 98389 …)

 

以上を踏まえて書いたコードを以下に示す

 

提出したコード

# 入力
A,B=map(int,input().split())

c=0
for i in range(A,B+1):
  i=str(i)

  # 1桁目と5桁目が一致する
  # かつ2桁目と4桁目が一致する場合
  if i[0]==i[4] and i[1]==i[3]:
    c+=1

# 出力
print(c)

 

提出結果はACでした