1. 程式人生 > 其它 >[藍橋杯Python] 基礎練習 特殊迴文數 (更快的速度)

[藍橋杯Python] 基礎練習 特殊迴文數 (更快的速度)

技術標籤:python演算法

資源限制
時間限制: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]))