100盏灯开关问题——C语言 有编号1~100个灯泡,起初所有的灯都是灭的。有100个同学来按灯泡开关,如果灯是亮的,那么按过开关之后,灯会灭掉。如果灯是灭的,按过开关之后灯会亮。 现在开始按开关。 第1个同学,把所有的灯泡开关都按一次(按开关灯的编号: 1,2,3,...100)。 第2个同学,隔一个灯按一次(按开关...
第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。 请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用...
void main(){ int n,b,s; //n总灯数,b开始数的灯号,s间隔 int a[256],i,k,m,p; //a存放灯号,k当前数到位置,m当前数到亮灯计数,p熄灭灯数 scanf("%d%d%d",&n,&b,&s); if ( n>256 ) n=256; //约数最多256盏灯 for ( i=0;i<n;i++ ) a[i]=i; //灯号...
sbit LED1_01 = P1^1; //LED灯 sbit KEY0_01 = P1^2; //按键 void Delay_1ms(unsigned int Time){ unsigned int x, y;for(x = Time; x > 0; x--)for(y = 120; y > 0; y--);} int main(void){ LED1_01 = 1; //打开LED灯点亮 while(1){ if(KEY0_01 ...
j++)/*开关87654321次*/ if (i%j==0) x=!x; /*!x可以达到开关一次的效果*/ if (x){/*第i灯最后状态,1表示亮*/ n++;/*计数*/ printf("%ld\t",i);/*这些灯最后亮着的,给出最后n值的证据*/ } } 此外,87654321太大了,相关的i,j,n变量都必须用long,用int不够。
C语言开灯问题找错描述 有n盏灯,编号1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依次类推。一共有k个人,问最后由哪些灯开着? 输入 n和k,1≤k≤n≤1000。 输出 开着的灯编号。 样...
一个开关灯的c语言问题。。。没有思路~ 一个开关灯的c语言问题。。。没有思路~述 假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。 第一个人(1号)将灯全部关闭,第二个人(2号)将
循环控制开关灯#程序代码 #c语言 #编程 - 山西向阳信奥于20200730发布在抖音,已经收获了4.0万个喜欢,来抖音,记录美好生活!
应该改为:int a[6000];for(i=0;i<6000;i++)a[i]=1;2、第二层循环里:if(a[j]==0)a[j]=1;if(a[j]==1)a[j]=0;这个语句把所有的灯都关闭了,因为如果关了,就打开;打开后又关了。逻辑不对,改成:if(a[j]==0)a[j]=1;else a[j]=0;这样就没问题了。
单片机C语言实验及实践教程2.模拟开关灯 1.实验任务 如图所示,监视开关K1(接在端口上),用发光二极管L1(接在单片机端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。 2.电路原理图 图 3.系统板上硬件连线 (1).把“单片机系统”区域中的端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上; ...