;//把陣列初始化為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中給出了描述。在這個題目裡,情況稍微有些複雜。當我們驗證卡拉茲猜想的時候,為了避免重複計算,可以記錄下遞推過程中遇到的每乙個數。...