乙個大於1的自然數n,若n為奇數,則變為3n+1,若為偶數,則除以二,最後總能得到2,求變換的次數。
初始**如下:
#include #include using namespace std;
int main()
cout << counter;
return 0;
}
但是輸入987654321的時候,輸出為1.顯然錯誤,因為發生了溢位問題。
我們考慮把n變為double或者long long
1. double型
#include #include using namespace std;
int main()
cout << counter;
return 0;
}
2.long long 型
#include #include using namespace std;
int main()
cout << counter;
return 0;
}
這樣就不會有溢位問題了~
3n 1數列問題
time limit 1000ms memory limit 65536k 有一天小標遇到了經典的3n 1數鏈問題,他想知道3n 1數鏈的前k個數是多少。下面小標來給你介紹一下3n 1數鏈是什麼,給定乙個數n,如果n為偶數,那麼下乙個數n1 n 2 否則n1 3 n 1 如果n1為偶數,那麼下乙個數...
3n 1數列問題
problem description 有一天小標遇到了經典的3n 1數鏈問題,他想知道3n 1數鏈的前k個數是多少。下面小標來給你介紹一下3n 1數鏈是什麼,給定乙個數n,如果n為偶數,那麼下乙個數n1 n 2 否則n1 3 n 1 如果n1為偶數,那麼下乙個數n2 n1 2 否則n2 3 n1 ...
3n 1數列問題
time limit 1000ms memory limit 65536kb problem description 有一天小標遇到了經典的3n 1數鏈問題,他想知道3n 1數鏈的前k個數是多少。下面小標來給你介紹一下3n 1數鏈是什麼,給定乙個數n,如果n為偶數,那麼下乙個數n1 n 2 否則n1...