题目
分析
这题也没有啥好说的。核心代码是用while循环不断进行操作,并将结果插入结果数组。
while(n!=1)
{
v.push_back(n);
if(n%2==0)
{
n=n/2;
}
else
{
n=3*n+1;
}
}
v.push_back(1);
当然,这么做的一个“后遗症”是最后的得数1没有被插入——所以我们最后用v.push_back(1)插入。也可以不插入,而是直接在输出各中间结果前先输出一个1。
这题可以用来练习STL中的vector:在不知道数组可能大小的前提下,利用vector的动态插入、动态调整。
答案

思考
(略)
