[藍橋杯Python] 基礎練習 特殊迴文數 (更快的速度)
阿新 • • 發佈:2021-01-27
資源限制
時間限制:1.0s 記憶體限制:512.0MB
問題描述
123321是一個非常特殊的數,它從左邊讀和從右邊讀是一樣的。
輸入一個正整數n, 程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 。
輸入格式
輸入一行,包含一個正整數n。
輸出格式
按從小到大的順序輸出滿足條件的整數,每個整數佔一行。
樣例輸入
52
樣例輸出
899998
989989
998899
資料規模和約定
1<=n<=54。
n=int(input())
def fun5(n):#五位數
list1=[]
for i in range(1,10):
for j in range(0,10):
if(0<=n-i*2-j*2<10):
list_n=[i,j,n-i*2-j*2]
list1.append(list_n)
return list1
def fun6(n):#六位數
list1=[]
if n%2==0:
n=n//2
for i in range(1,10):
for j in range(0,10):
if (0<=n-i-j<10):
list_n=[i,j,n-i-j]
list1.append(list_n)
return list1
list5=fun5(n)
list6=fun6(n)
for i in list5:
print(str(i[0])+str(i[1])+str(i[2])+str(i[1])+str(i[0]))
for i in list6:
print(str(i[0])+str(i[1])+str(i[2])+str(i[2])+str(i[1])+str( i[0]))