本人初学者,这个代码哪里出问题,为什么运行是错的? 题目:n盏灯,编号为1~n。1号将灯全部打开,2将按下所有为2的倍数的开关,(这些灯将被关掉)第3个人按下所有编号为3的倍数的开关(该灯如为打开的, 则将它关闭;如关闭的,则将它打开)。
//以此类推,一共有m个人,最后有哪些灯开着?(m<=n<100)
c++初学者 开关问题 代码哪里不对
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-天际的海浪 2022-02-25 01:17关注
初始k数组的元素要全部赋值为1
你k[x] = 1;上一行少了 for (x = 1; x <= n; x++)
应该是for (x = 1; x <= n; x++)
k[x] = 1;你题目的解答代码如下:
#include<iostream> using namespace std; int main() { int m,n,i,x; int k[100]; cin >> n >> m; for (x = 1; x <= n; x++) //加上这个for k[x] = 1; for (i = 1; i <= m; i++) { for (x = 1; x <= n; x++) { if (x%i==0) { k[x] = (-1)*k[x]; } } } for (x = 1; x <= n; x++) { if (k[x]==-1) { cout << x << '\t'; } } return 0; }
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度