#24660: 請幫幫我 想了一個下午了


teddy940120@gmail.com (A86242)


寫一個程式,輸入整數 k (0 < k ≤ 10),找出 k 位數中,所有數字均為偶數的完全平方數中最小的一個數。例如當 k = 5,五位數中所有數字均為偶數的完全平方數中最小的數為 26244 (26244 = 1622) 。

 

輸入第一行為一個整數 n,表示接下來會有 n 組測試資料。

接下來有 n 行,每行有一個整數 k,代表數字的位數。

 

#24671: Re:請幫幫我 想了一個下午了


fire5386 (becaidorz)


寫一個程式,輸入整數 k (0 < k ≤ 10),找出 k 位數中,所有數字均為偶數的完全平方數中最小的一個數。例如當 k = 5,五位數中所有數字均為偶數的完全平方數中最小的數為 26244 (26244 = 1622) 。

 

輸入第一行為一個整數 n,表示接下來會有 n 組測試資料。

接下來有 n 行,每行有一個整數 k,代表數字的位數。

 

可以由刪去法算 因為是偶數的平方,所以個位數一定是4(2*2、8*8)或6(4*4、6*6)
這樣刪一刪應該就有答案了ㄅ

 

#24672: Re:請幫幫我 想了一個下午了


fire5386 (becaidorz)


寫一個程式,輸入整數 k (0 < k ≤ 10),找出 k 位數中,所有數字均為偶數的完全平方數中最小的一個數。例如當 k = 5,五位數中所有數字均為偶數的完全平方數中最小的數為 26244 (26244 = 1622) 。

 

輸入第一行為一個整數 n,表示接下來會有 n 組測試資料。

接下來有 n 行,每行有一個整數 k,代表數字的位數。

 

可以由刪去法算 因為是偶數的平方,所以個位數一定是4(2*2、8*8)或6(4*4、6*6)
這樣刪一刪應該就有答案了ㄅ

 


或是0,忘了講

#24673: Re:請幫幫我 想了一個下午了


asnewchien@gmail.com (david)


可以這樣寫:

 

rt = set('135790')

n = {k: 0 for k in range(11)}

for i in range(2, 100000, 2):

    t = i ** 2

    q = str(t)

    h = len(q)

    if(not (set(q) & rt) and n[h] == 0): n[h] = t

print(n)    

 

{0: 0, 1: 4, 2: 64, 3: 484, 4: 4624, 5: 26244, 6: 228484, 7: 2862864, 8: 22448644, 9: 222248464, 10: 4246868224}