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;
}
标签:线性表,int,ans,vector,printf,size
From: https://www.cnblogs.com/ronchen/p/18342533