编写一个程序,要求用户输入非负整数 X 和 Y。使用循环,在从 X 开始到 Y 结束的整数相加和相乘之间交替进行。如果数字是偶数,则将其添加到总数中。如果数字是奇数,则乘以它。例如,如果 X=5 和 Y=10,您的程序应该计算 ((5+6)*7+8)*9+10=775。如果 X=2 且 Y = 5,则计算 (2*3+4)*5=50。
我知道如何拆分偶数和奇数,但我不知道如何将它们放在一起。
原文由 Emendator 发布,翻译遵循 CC BY-SA 4.0 许可协议
编写一个程序,要求用户输入非负整数 X 和 Y。使用循环,在从 X 开始到 Y 结束的整数相加和相乘之间交替进行。如果数字是偶数,则将其添加到总数中。如果数字是奇数,则乘以它。例如,如果 X=5 和 Y=10,您的程序应该计算 ((5+6)*7+8)*9+10=775。如果 X=2 且 Y = 5,则计算 (2*3+4)*5=50。
我知道如何拆分偶数和奇数,但我不知道如何将它们放在一起。
原文由 Emendator 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
正确的解释:
第一步是检查输入是否正确(y 大于 x 并且两个值都是正数)。
然后初始化用于将结果返回给
x
的变量(因为根据您给我们的示例,我们总是从x
开始):int res = x;
。你有循环:因为我们从
x
开始,只需从x+1
循环到y
(包括,同样给我们的例子for(int i = x+1 ; i <= y; i+=1)
在这个循环中你有当前值,如果这个当前值是偶数,将它添加到结果变量(
res += i;
),否则(它是奇数)你将结果乘以当前值(res *= i
)。在循环之后,您可以返回结果变量并完成工作。
/!\SPOILER :下面的完整代码
这是完整的代码
我刚刚添加了一个事实,即如果输入不是“有效”,它会返回 -1。