PAT 1005 繼續(3n+1)猜想 python程式碼滿分
1005 繼續(3n+1)猜想
卡拉茲(Callatz)猜想已經在1001中給出了描述。在這個題目裡,情況稍微有些複雜。
當我們驗證卡拉茲猜想的時候,為了避免重複計算,可以記錄下遞推過程中遇到的每一個數。例如對 n=3 進行驗證的時候,我們需要計算 3、5、8、4、2、1,則當我們對 n=5、8、4、2 進行驗證的時候,就可以直接判定卡拉茲猜想的真偽,而不需要重複計算,因為這 4 個數已經在驗證3的時候遇到過了,我們稱 5、8、4、2 是被 3“覆蓋”的數。我們稱一個數列中的某個數 n 為“關鍵數”,如果 n 不能被數列中的其他數字所覆蓋。
現在給定一系列待驗證的數字,我們只需要驗證其中的幾個關鍵數,就可以不必再重複驗證餘下的數字。你的任務就是找出這些關鍵數字,並按從大到小的順序輸出它們。
輸入格式:
每個測試輸入包含 1 個測試用例,第 1 行給出一個正整數 K (<100),第 2 行給出 K 個互不相同的待驗證的正整數 n (1<n≤100)的值,數字間用空格隔開。
輸出格式:
每個測試用例的輸出佔一行,按從大到小的順序輸出關鍵數字。數字間用 1 個空格隔開,但一行中最後一個數字後沒有空格。
輸入樣例:
6
3 5 6 7 8 11
輸出樣例
7 6
程式碼如下:
# 遞迴函式
def step(n,cover):
if n==1:
pass
else:
if n%2==0:
n = n//2
else:
n = (3*n+1)//2
cover.append(n)
step(n,cover)
#輸入
k = eval(input())
num = input().split(' ')
num = [int(i) for i in num]
out = []
total = []
for i in range(len(num)):
cover = []
step(num[i],cover)
total.append(cover)
for i in range(k):
a = num[i]
b = 0
for j in total:
if a not in j:
b+=1
if b == k:
out.append(a)
out.sort(reverse=True)#降序
#輸出
for i in out:
if i ==out[len(out)-1]:
print(i)
else:
print(i,end=' ')
得分
相關文章
- 1005 繼續(3n+1)猜想 (25分)
- PAT-B 1005 繼續(3n+1)猜想【陣列】陣列
- [PAT B] 1005 繼續 (3n+1) 猜想 (沒做出來幫我看看咋整)
- [PAT B] 1001 害死人不償命的 (3n+1) 猜想
- PAT (Basic Level) Practice 1001 害死人不償命的(3n+1)猜想
- PAT-B 1001 害死人不償命的(3n+1)猜想【模擬】
- PAT乙級1001 || 害死人不償命的(3n+1)猜想(C語言)C語言
- PAT B1001 害死人不償命的(3n+1)猜想(簡單模擬)
- 1001 callatz猜想 害死人不償命的(3n+1)猜想
- [PAT B] 1007 素數對猜想
- 1001 害死人不償命的(3n+1)猜想
- 1001 害死人不償命的(3n+1)猜想
- 1001 害死人不償命的(3n+1)猜想 PTA
- PAT-B 1007 素數對猜想【素數】
- 繼續完成驗證碼
- 21行滿分程式碼:1039 到底買不買 (20分)
- Python驗證和視覺化之三大猜想 [ 冰雹猜想、角谷猜想、考拉茲猜想 ]Python視覺化
- 3n+1問題的考察及python程式設計Python程式設計
- CSP-CCF 202006-1 線性分類器 滿分程式碼
- CCF 202009-2 風險人群篩查 滿分程式碼
- 程式設計師修神之路--做好分庫分表其實很難之一(繼續送書)程式設計師
- java中異常丟擲後程式碼還會繼續執行嗎Java
- 微信小程式之程式碼構建初探:如何繼續使用html與css開發小程式微信小程式HTMLCSS
- nvidia安裝程式無法繼續怎麼解決 nvidia安裝程式失敗不相容怎麼繼續
- 繼續總結Python中那些簡單好用的用法Python
- python物件導向(二)繼承:最直接的程式碼複用Python物件繼承
- Jquery ajax載入等待執行結束再繼續執行下面程式碼操作jQuery
- 不忘初心,繼續前行
- CCF 201512-1 數位之和 python 滿分Python
- 繼續教育-支援網站應用程式的下載網站
- 【MySQL安裝】由於找不到MSVCP120.dll,無法繼續執行程式碼MySql行程
- Linux驅動程式碼顯示:新一代 Navi將繼續沿用 GCN架構LinuxGC架構
- 對騰訊後續“組局”遊戲直播的猜想遊戲
- [PAT B] 1012 數字分類
- PAT:1001 A+B Format (20分)ORM
- 怎麼樣安裝HP1005印表機驅動程式 惠普1005印表機安裝驅動
- JAVA GUI學習 繼續JavaGUI
- 碼農的轉型之路-造輪子還繼續嗎?