我正在开发一个程序,它接受两个输入值并将它们之间的所有数字相加,包括输入值本身。但是,它需要双向工作,因此首先输入 5 和 1 秒与首先输入 1 和 5 秒完全相同。我的问题是我只能对整个函数使用一个循环,也就是我用来将所有数字相加的 for 循环。我不能在循环中有 if 或 switch 语句。我很难为程序找出一个代码来确定两个数字中哪个最小,然后从那里开始计数。这是我试图实现的想法之一,但显然到目前为止我无处可去。
for (int i = x; i <= y; i++)
{
i ? sum += i : x += y;
count++;
}
最佳答案
使用代数,没有循环。连续数之和 = 项数 *(首项 + 末项)- 算术级数。
auto sum = std::abs(firstVal - secondVal + 1) * (firstVal + secondVal);
关于C++如何制作一个计数循环来确定两个输入数字中哪个最小,并从那里开始计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42604028/