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=' ')
得分
相關文章
- PAT-B 1005 繼續(3n+1)猜想【陣列】陣列
- PAT乙級1001 || 害死人不償命的(3n+1)猜想(C語言)C語言
- PAT甲級-1005. Spell It Right (20)各位之和
- 繼續完成驗證碼
- 3n+1問題的考察及python程式設計Python程式設計
- Python驗證和視覺化之三大猜想 [ 冰雹猜想、角谷猜想、考拉茲猜想 ]Python視覺化
- 21行滿分程式碼:1039 到底買不買 (20分)
- 繼續瞭解Oracle部分後臺程式Oracle
- 繼續吭哧吭哧寫程式碼~組長的思維比我好很多~
- 對騰訊後續“組局”遊戲直播的猜想遊戲
- 程式設計師修神之路--做好分庫分表其實很難之一(繼續送書)程式設計師
- 微信小程式之程式碼構建初探:如何繼續使用html與css開發小程式微信小程式HTMLCSS
- 去創業還是繼續程式設計創業程式設計
- java中異常丟擲後程式碼還會繼續執行嗎Java
- AI 全面入侵,程式設計師到了 2040 年還能繼續敲程式碼嗎?AI程式設計師
- java繼續革命(轉)Java
- 雅虎將繼續推進分拆阿里交易:預計今年完成阿里
- 奧運會結束了,生活還要繼續,工作還要繼續...
- nvidia安裝程式無法繼續怎麼解決 nvidia安裝程式失敗不相容怎麼繼續
- 繼續總結Python中那些簡單好用的用法Python
- MIUI廣告太多遭米粉不滿 但小米說還要繼續在MIUI裡做廣告UI
- Jquery ajax載入等待執行結束再繼續執行下面程式碼操作jQuery
- 京東智慧數碼震撼返場 折扣大牌繼續嗨
- 繼續教育-支援網站應用程式的下載網站
- JAVA GUI學習 繼續JavaGUI
- CSP-CCF 202006-1 線性分類器 滿分程式碼
- python物件導向(二)繼承:最直接的程式碼複用Python物件繼承
- exit() 時或之後還能繼續執行php程式碼的幾種辦法PHP
- 如何讓procedure儲存過程中的異常程式碼不中斷繼續執行儲存過程
- PAT 甲級 1152 Google Recruitment (20分)GoUI
- [譯] 自動化持續整合/持續分發,以節省更多時間編寫程式碼
- python3.4 獲取cookie後繼續訪問其他頁面PythonCookie
- Linux驅動程式碼顯示:新一代 Navi將繼續沿用 GCN架構LinuxGC架構
- 解決找不到steam_api64.dll無法繼續執行程式碼的問題API行程
- C#釋出程式:應用程式驗證未成功,無法繼續C#
- 繼續聊聊MVVM和元件化MVVM元件化
- sqlplus之pause繼續SQL
- CCF 202009-2 風險人群篩查 滿分程式碼