P5727
#include <cstdio>
#include <vector>
using std::vector;
int main()
{
int n; scanf("%d", &n);
vector<int> ans; // 定義一個裡面元素是int型別的動態陣列
// 一般不用vector<char> vector<bool>
// 此時是沒有ans[0]...的
while (n!=1) {
// 把n新增進ans
ans.push_back(n);
if (n%2==0) {
n/=2;
} else {
n = 3 * n + 1;
}
}
// 把n新增進ans
ans.push_back(n);
// ans.size()
// 儘量不要對size()直接運算,比如 xxx.size()-1
// for (int i=0;i<ans.size();i++) { printf("%d ",ans[i]); }
// for (int i=ans.size()-1;i>=0;i--) { printf("%d ",ans[i]); }
// 儘量不要像上面這樣寫ans.size()-1
int len = ans.size();
for (int i=len-1; i>=0; i--) {
printf("%d ", ans[i]);
}
return 0;
}