1005 繼續(3n+1)猜想 (25分)
卡拉茲(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
這個題不算難 主要的思想
是在迴圈中在n+1 的過程中
對每個數進行操作
在對其進行3n+1思想的操作時
再套入一個迴圈 對所有的數進行遍歷
如果操作過程中有相等的數 就覆蓋為0
最後就得到了輸出樣例裡的資料
#include <iostream>
#include <set>
#include <vector>
#include <cmath>
#include <map>
#include <string>
#include<algorithm>
using namespace std;
bool cmp(int a,int b){
return a>b;
}
int main(){
int K;
cin >>K;
vector<int> m;
for(int i=0;i<K;i++){
int c;
cin>>c;
m.push_back(c);
}
int temp;
for(int i=0;i<K;i++){
if(m[i]){
temp=m[i];
while(temp!=1)
{
if(temp%2==1)
temp=3*temp+1;
temp/=2;
for(int j=0;j<K;j++){
if(temp==m[j])
m[j]=0;
}
}
}
}
int flag=0;
sort(m.begin(),m.end(),cmp);
for(int i=0;i<K;i++){
if(m[i]){
if(flag==1)
cout<<" ";
cout<<m[i];
}
flag=1;
}
}
相關文章
- PAT-B 1005 繼續(3n+1)猜想【陣列】陣列
- PAT 1005 繼續(3n+1)猜想 python程式碼滿分Python
- [PAT B] 1005 繼續 (3n+1) 猜想 (沒做出來幫我看看咋整)
- 1001 callatz猜想 害死人不償命的(3n+1)猜想
- 1001 害死人不償命的(3n+1)猜想
- 1001 害死人不償命的(3n+1)猜想
- 1001 害死人不償命的(3n+1)猜想 PTA
- [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)猜想(簡單模擬)
- 不忘初心,繼續前行
- 對騰訊後續“組局”遊戲直播的猜想遊戲
- 繼續完成驗證碼
- JAVA GUI學習 繼續JavaGUI
- 繼續付出真誠,持續提供價值
- Python驗證和視覺化之三大猜想 [ 冰雹猜想、角谷猜想、考拉茲猜想 ]Python視覺化
- 繼續吐槽一下
- 利用XSLT繼續擊垮XMLXML
- 繼續聊聊MVVM和元件化MVVM元件化
- 金山雲財報:繼續虧損、持續擴張
- Postman 支援 gRPC 了!繼續領先 ~PostmanRPC
- JS繼續學習記錄(一)JS
- 《原神》繼續追蹤痕跡任務攻略 繼續追蹤痕跡任務怎麼做
- 兄弟們還在繼續寫php嗎?PHP
- B站繼續在深水區掙扎
- 繼續研究vue元件vue-menu元件Vue元件
- 2020 年勒索軟體將繼續流行
- 銷燬時取消http繼續載入HTTP
- 996 icu 不算什麼?生活在繼續996
- AMD或繼續搶佔CPU市場
- 繼Pebble之後,Fitbit繼續收購第二家智慧手錶公司
- 第一週作業Linux基礎(未完待續,週日繼續)Linux
- GlobalSign證書過期不續費還可繼續訪問嗎
- 三人猜想
- 卡拉茲(Callatz)猜想
- 國家出面繼續整頓直播行業行業