Scanner in=new Scanner(System.in);
int n=in.nextInt();
int odd=0;
int even=0;
int sum=0;
for (int i=1; i <= n; i++) {
if (i % 2 != 0) {
odd = i;
} else {
even = i;
}
sum += odd - even;
}
System.out.println(sum);
为啥结果不是-2 而是0?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 创意程序员 2023-04-08 14:25关注
结果不会有-2,只会有0和1。
如果进入循环,至少执行1次,odd=1,even=0,sum=1;如果再次执行,odd不变,even比odd大1,sum清0。如果循环继续,odd比even大1,sum又变1;再继续,even比odd大1,sum清0。结果只会在0和1两者之间变化。即输入奇数,结果为1,输入偶数,结果为0。输入<=1不会进入循环。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 按颜色进行点云分割-python
- ¥15 Matlab如何实现汽车变道切入场景的批量仿真
- ¥20 COMSOL频域研究,要加法向加速度的话,加速度随时间变化该如何设置?
- ¥15 无刷电机要通过什么才能做各种动作
- ¥15 VS2010通过OnCtlColor函数改变radio控件字体的颜色为白色,但是程序运行后发现不起作用,怎么办?
- ¥15 Qt中实现子线程和管理线程类之间实时通信
- ¥15 cacls 命令如何解除锁定文件夹?
- ¥50 C++使用TWAIN协议如何实现A3幅面扫描仪扫描A4横向
- ¥15 Vue3重构Nuxt3,出现客户端数据和服务端数据不一致的情况
- ¥15 如何在sql server里完成筛选