我必须编写一个程序来完成一个算法并且每行最多有 10 个术语。我有一个问题 1)当循环到达 1 时停止循环 2)如何为下一个递增的数字继续循环。这是我应该做的和我拥有的。我应该得到一个低期限,高期限和增量。第一个计算从低项开始,并完成,当完成时,它应该循环回到低项+增量并再次进行计算。那应该循环直到它达到高数字并完成该计算。如果不仔细阅读这里的所有代码,这就是我遇到麻烦的地方。
void ulamCalc(double numOne, double numTwo,
double increment)
{
int countOne, countTwo;
countTwo = 1;
do
{
for(count = 1; count <= 10; count++)
{
cout << setw(7) << numOne;
if(numOne == 1)
{
cout<< endl;
cout << OUTPUT_TERM << countTwo;
cout << endl << endl;
}
countTwo++;
if(static_cast<int>(numOne) % 2 == 0)
numOne = numOne / 2;
else if(static_cast<int>(numOne) % 2 == 1)
numOne = (numOne * 3) + 1;
}
cout << endl;
} while(numOne >= 1);
此循环在 1 处停止并输出项数,但随后是其他行,将重复最后 3 次计算。有人可以帮我弄这个吗?