pat B1005 繼續 3n 1 猜想

2021-10-02 23:14:33 字數 713 閱讀 5141

題目鏈結->link

求關鍵字,故對每個數字進行(3n+1)猜想操作後,設定hashmap[n]=true,即被覆蓋的數。

對關鍵字序列從大到小排序輸出,同時最後乙個關鍵字後不能有空格,所以用count記錄關鍵字個數做判斷。

由於(3n+1)猜想操作後數可能很大,所以hashmap[n]設定為100完全不夠,會發生陣列越界,即段錯誤,所以將其設為10000。

#include

#include

#include

#include

#include

using

namespace std;

bool hashmap[

10000];

//儲存數字是否被覆蓋,true表示被覆蓋

bool

cmp(

int a,

int b)

intmain()

}int count=0;

//計算關鍵字的數目,用於輸出格式判斷

for(

int i=

0;i)sort

(a, a+k, cmp)

;//將關鍵字從大到小排序

for(

int i=

0;iprintf

("\n");

return0;

}

PAT B1005 繼續 3n 1 猜想

pat b1005 題目給出數的範圍在100以內,因此雜湊表大小可取105。儲存這個數列,同時設定每個數對應的雜湊值為1。對數列中的每個數進行 3 n 1 猜想,將計算過程中的數的雜湊值改變為 0 從大到小輸出雜湊值為 1 的數。includeusing namespace std int m 10...

PATB 1005 繼續 3n 1 猜想

題目 時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者chen,yue 卡拉茲 callatz 猜想已經在1001中給出了描述。在這個題目裡,情況稍微有些複雜。當我們驗證卡拉茲猜想的時候,為了避免重複計算,可以記錄下遞推過程中遇到的每乙個...

PAT B1005 繼續(3n 1)猜想

1005 繼續 3n 1 猜想 25 分 卡拉茲 callatz 猜想已經在1001中給出了描述。在這個題目裡,情況稍微有些複雜。當我們驗證卡拉茲猜想的時候,為了避免重複計算,可以記錄下遞推過程中遇到的每乙個數。例如對 n 3 進行驗證的時候,我們需要計算 3 5 8 4 2 1,則當我們對 n 5...