PAT乙級練習(1001)

2022-04-09 20:59:30 字數 776 閱讀 9768

1001 害死人不償命的(3n+1)猜想

卡拉茲(callatz)猜想:

對任何乙個正整數 n,如果它是偶數,那麼把它砍掉一半;如果它是奇數,那麼把 (3n + 1) 砍掉一半。這樣一直反覆砍下去,最後一定在某一步得到 n=1。卡拉茲在 1950 年的世界數學家大會上公布了這個猜想,傳說當時耶魯大學師生齊動員,拼命想證明這個貌似很傻很天真的命題,結果鬧得學生們無心學業,一心只證 (3n + 1),以至於有人說這是乙個陰謀,卡拉茲是在蓄意延緩美國數學界教學與科研的進展……

我們今天的題目不是證明卡拉茲猜想,而是對給定的任一不超過 1000 的正整數 n,簡單地數一下,需要多少步(砍幾下)才能得到 n=1?

執行**:

#include #include 

int main(void

)

else

}printf("%d

",total);

system(

"pause");

return

0;

}

解題思路:

1.輸入數值

2.判斷所輸入數值是否為1,若不為1則進入迴圈

3.在迴圈中先判斷數值是奇數還是偶數

4.若是奇數,則(3n + 1)/ 2,計數器自增1;若是偶數,則n / 2,計數器自增1

5.繼續2,3,4的迴圈

執行結果:

浙大PAT乙級練習1001

對任何乙個正整數 n,如果它是偶數,那麼把它砍掉一半 如果它是奇數,那麼把 3n 1 砍掉一半。這樣一直反覆砍下去,最後一定在某一步得到 n 1。卡拉茲在 1950 年的世界數學家大會上公布了這個猜想,傳說當時耶魯大學師生齊動員,拼命想證明這個貌似很傻很天真的命題,結果鬧得學生們無心學業,一心只證 ...

PAT乙級試題 1001

對任何乙個自然數n,如果它是偶數,那麼把它砍掉一半 如果它是奇數,那麼把 3n 1 砍掉一半。這樣一直反覆砍下去,最後一定在某一步得到n 1。卡拉茲在1950年的世界數學家大會上公布了這個猜想,傳說當時耶魯大學師生齊動員,拼命想證明這個貌似很傻很天真的命題,結果鬧得學生們無心學業,一心只證 3n 1...

PAT 乙級題目1001

卡拉茲 callatz 猜想 對任何乙個正整數 n,如果它是偶數,那麼把它砍掉一半 如果它是奇數,那麼把 3n 1 砍掉一半。這樣一直反覆砍下去,最後一定在某一步得到 n 1。卡拉茲在 1950 年的世界數學家大會上公布了這個猜想,傳說當時耶魯大學師生齊動員,拼命想證明這個貌似很傻很天真的命題,結果...