1005 繼續(3n 1)猜想

2021-10-08 02:58:07 字數 899 閱讀 5715

;//把陣列初始化為0

int b[

100]

;int c[

100]

;//儲存最終的關鍵數陣列

intmain()

else}}

for(i=

1; i

)//排序 }}

j=0;

for(i=

0; i

)for

(i=0

; i<=j-

1; i++

)}這道題目是今天程式設計的時候耗費我時間比較多的一道題目(還是自己水平有點低),寫著道題我開始的思路就是用for迴圈乙個乙個找那些關鍵數,但是在寫for迴圈的時候因為關鍵數的個數一直會改變,所以在比較的時候for迴圈的限制條件一直會改變,這就導致pta上一直是段錯誤。我也在思考怎麼改,但是思考很久一直無果。

後來看了看別人的**,發現他們的思路和我的就不一樣。這段程式是我看了別的的**之後自己寫出來的,在輸入的時候就把所有輸入數字的覆蓋數都找出來;然後再把所有輸入的數字和這些覆蓋數比較,看看與沒有一樣的,一樣的話 就淘汰(就不是關鍵數)。這樣就找到了所有的關鍵數,思路大概這樣。

總的來說,我這道題浪費時間就在思路上,思路不對,到最後想改都不好改。所以演算法還是很重要的。以後做題的話,先想一下這題的思路,演算法。 不直接按照題目的意思 一步一步的做,這樣寫起來可能會很麻煩,這題就給了我很大的啟示。

先繼續做pta的basic level程式設計題目,有時間的話學學資料庫。

1005繼續3n 1猜想

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

1005 繼續 3n 1 猜想

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

1005 繼續 3n 1 猜想

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