所謂角谷猜想,是指對於任意乙個正整數,如果是奇數,則乘3加1,如果是偶數,則除以2,得到的結果再按照上述規則重複處理,最終總能夠得到1。如,假定初始整數為5,計算過程分別為16、8、4、2、1。 程式要求輸入乙個整數,將經過處理得到1的過程輸出來。
乙個正整數n(n <= 2,000,000)
從輸入整數到1的步驟,每一步為一行,每一部中描述計算過程。最後一行輸出"end"。如果輸入為1,直接輸出"end"。
樣例輸入
樣例輸出
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
end**:
#include
int main (
)else
}printf
("end");
return0;
}
注意:
該題的重點在於對n的定義,如果只是將n定義為int型,則無法滿足運算要求。n的值在一些運算過程中可能會變大的超過int所包含的範圍。
角谷猜想 C 實現
題目描述 所謂角谷猜想,是指對於任意乙個正整數,如果是奇數,則乘3加1,如果是偶數,則除以2,得到的結果再按照上述規則重複處理,最終總能夠得到1。如,假定初始整數為5,計算過程分別為16 8 4 2 1。程式要求輸入乙個整數,將經過處理得到1的過程輸出來。輸入 乙個正整數n n 2,000,000 ...
C 語言 角谷猜想 多例項測試
題目描述 任何乙個自然數,如果是偶數,就除以2,如果是奇數,就乘以3再加1。最後,經過若干次迭代得到1。也就是說,不管怎樣迭代,不斷除以2以後,最後是1。現在給你乙個自然數n,求出它轉變為1所需要的步數。輸入輸入資料有多組,每組輸入包含乙個自然數n。測試資料保證輸入資料及中間結果都在int範圍內。輸...
驗證角谷猜想
total submission s 7305 accepted submission s 3767 problem description 數論中有許多猜想尚未解決,其中有乙個被稱為 角谷猜想 的問題,該問題在 五 六十年代的美國多個著名高校中曾風行一時,這個問題是這樣描述的 任何乙個大於一的自然...