永发信息网

C语言开灯问题就解释,题目什么意思?

答案:2  悬赏:0  手机版
解决时间 2021-03-24 13:06
C语言开灯问题就解释,题目什么意思?
最佳答案
6既是2的倍数也是3的倍数
所以被2号人关闭了之后,又被3号人打开了追问那程序应怎么写 能不能写出来 看看追答简单写一下


int i,j,n,k;
bool used[1005];
scanf("%d%d", &n, &k);
for(i = 1; i <= n; i++)    used[i] = false;
for(i = 1; i <= k; i++)
    for(j = 1; j*i <= n; j++)
        used[j*i] = !used[j*i];//转换灯的状态
for(i = 1; i <= n; i++)
    if(used[i])
        printf("%d ", i);
全部回答
//我觉得7号灯肯定是在关闭状态
//因为第1个人把所有等打开,那么只有第7个人是7的倍数,
//所以第7个人会把第7个灯关闭掉,7号灯的状态肯定是关闭的
//所以说你这个输出有可能是错误的。
//给你写的完整代码,希望能帮到你。
#include
#define N 1000
struct Light
{
int num;
int onOff;  //1打开  0关闭
};
int main()
{
int n,k,i;
Light light[N];
scanf("%d %d",&k,&n);
if(k>n||n>1000) //不符合条件的直接返回
return 0;
for(i=0;i {
light[i].onOff = 1;
light[i].num = i+1;
}
for(i=2;i<=k;i++)  //从第2个人开始循环,一直到第k个
for(int j=0;j if(light[j].num%i==0&&light[j].num>=i) //如果灯的编号是人的编号的倍数,且灯号大于人号
{
if(light[j].onOff==1) //如果是开,就关闭,否则打开
light[j].onOff=0;
else light[j].onOff=1;
//输出信息
printf("i=%d 第%d号灯,状态:%d ",i,light[j].num,light[j].onOff);
}
for(i=0;iif(light[i].onOff==1)
printf("%d ",light[i].num);
printf(" ");
return 0;
}追问大哥 看来你也没有理解 那是标准输出追答题目要求:第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推。
先不看其他的输出结果,就单看 7号灯。
第1个人把所有灯打开。
第2个人把2、4、6、8。。。。。灯关闭
。。。
第7个人把7号灯关闭。
7号灯的最终状态肯定是关闭着的啊,这个我确实无法理解。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
巨邦五金店怎么去啊,有知道地址的么
:你嘿宾勾啊,广东话什么意思
溶液中能互相沉淀的离子组有什么意思
耳朵面部发热什么原因
剩余流量可以用吗
坚持和放弃的英文翻译(名词和动词)?
为什么广深铁路票价远远高过广珠铁路票价,难
英语ILovEGou中文是什么意思
大众途观2015款为什么降价那么多
单选题钾的还原性比钠强,原因是A.钾的相对原
怎么用英语表达假设过去发生了什么事,现在就
三星手机型号
neurocomputing revise and reconsider什么意
定向越野小组的组名和口号!急!
性格叛断
推荐资讯
确山县事业单位成绩什么时候出来
问题就是胸小没胸了
四乘三等于十二中谁是谁的因数谁是谁的倍数
关于逾期的一个提醒,大家还是不要逾期的好
20Today it is found that school students h
电焊冒出的烟是什么气体?有毒吗?
PE-RT 2代管材是什么管材?
家里养的锦鲤鱼为什么老是要从鱼缸中跳出来
求解!详细一点,谢谢!
醋十蜂蜜的作用功效
谁有增添勇气的古诗句???¢
no modern technology, the Egyptians had to
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?