1 #include<stdio.h>
2 #include<stdlib.h>
3 //开灯问题
4 //总共有n盏灯,编号为1~n,k个人
5 //第一个人摁下所有灯的开关
6 //第二个人摁下所有编号为2的倍数的开关
7 //第三个人摁下所有编号为3的倍数的开关
8 //......
9 //传入k<n<1000,问最后哪些灯是开着的
10 int main()
11 {
12 ////先来看看最简单的情形:固定灯和人数
13 //int Light[10] = { -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 };
14 //printf("灯组初始状态为:");
15 //for (int element = 0; element < 10; element++) {
16 // printf("%d\t", Light[element]);
17 //}
18 //printf("\n");
19 //int Switch = 3;
20 ////3个人分别对灯组进行操作
21 //for (int i = 1; i < Switch + 1; i++) {
22
23 // for (int element = 0; element < 10; element++) {
24 // if ((element + 1) % i == 0) {
25 // Light[element] = -1 * Light[element];
26 // }
27 // }
28 // printf("第%d个人操作后的结果", i);
29 // for (int element = 0; element < 10; element++) {
30 // printf("%d\t", Light[element]);
31 // }
32 // printf("\n");
33 //}
34 //printf("灯组最后为:");
35 //for (int element = 0; element < 10; element++) {
36 // printf("%d\t", Light[element]);
37 //}
38
39 //-----------------------------------------
40 //-----------------------------------------
41
42 //当灯和人数均由外界指定时,这里我们采用动态数组实现
43 int LightLen;
44 int* Light;
45 printf("请输入灯组数量");
46 scanf_s("%d", &LightLen);
47 if (LightLen >= 1000 || LightLen <= 0) {
48 printf("灯组数量应该满足0<Switch<LightLen<1000!\n");
49 return 0;
50 }
51 Light = (int*)malloc(LightLen * sizeof(int));
52 if (!Light) {
53 printf("创建灯组失败\n");
54 exit(1);
55 }
56 //灯组初始状态置为1
57 for (int i = 0; i < LightLen; i++) {
58 Light[i] = -1;
59 }
60 for (int i = 0; i < LightLen; i++) {
61 printf("%d\t", Light[i]);
62 }
63 printf("\n");
64 //准备接受人数值
65 int Switch;
66 printf("请输入人数:\n");
67 scanf_s("%d", &Switch);
68 if (Switch >= 1000 || Switch <= 0) {
69 printf("人数应该满足0<Switch<LightLen<1000!\n");
70 return 0;
71 }
72 for (int i = 1; i < Switch + 1; i++) {
73
74 for (int element = 0; element < 10; element++) {
75 if ((element + 1) % i == 0) {
76 Light[element] = -1 * Light[element];
77 }
78 }
79 printf("第%d个人操作后的结果", i);
80 for (int element = 0; element < 10; element++) {
81 printf("%d\t", Light[element]);
82 }
83 printf("\n");
84 }
85 printf("灯组最后为:");
86 for (int element = 0; element < 10; element++) {
87 printf("%d\t", Light[element]);
88 }
89 //别忘了释放
90 free(Light);
91 return 0;
92 }

c语言 开灯问题 vs2019编译通过的更多相关文章

  1. c语言实现开灯问题

    开灯问题: 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依 ...

  2. 开灯问题—C语言

    开灯问题 有n盏灯,编号为1~n.第1个人把所有灯打开,第2个人按下所有编号为2的倍数开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关,以此类推.一共有k个人,问最后哪些灯是开着?输入n和 ...

  3. 开灯问题3_2(JAVA语言)

    package 第三章; public class 开灯问题3_2 { public static void main(String[] args) { // TODO Auto-generated ...

  4. 9509 开灯(dfs)

    9509 开灯 时间限制:1000MS  内存限制:65535K提交次数:0 通过次数:0 题型: 编程题   语言: G++;GCC Description 有16的开关分别控制16盏灯,开关排列成 ...

  5. Jquery开灯关灯效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. NYOJ 题目77 开灯问题(简单模拟)

    开灯问题 时间限制:3000 ms  |            内存限制:65535 KB 难度:1           描述 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 ...

  7. 洛谷 P1876 开灯(思维,枚举,规律题)

    P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编 ...

  8. 【Luogu1876】开灯(数论)

    [Luogu1876]开灯(数论) 题面 题目描述 首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的 ...

  9. POJ 1218 THE DRUNK JAILER(类开灯问题,完全平方数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2188 题目大意:n为5-100之间的一个数,代表有多少间牢房,刚开始所有房间打开,第一轮2的倍数的房间 ...

  10. 30个Python物联网小实验3:使用按钮开灯关灯

    使用按钮开灯关灯 接线图非常简单,LED接GPIO17号口,按钮接GPIO2号口,负极接GND地线. 代码也非常简单: from gpiozero import LED, Button from si ...

随机推荐

  1. reportviewer的简单使用

    以下通过VS提供的工具来绑定数据源,没有一句自己写的代码. 1.新建web窗体,拖入ScriptManager控件,ReportViewer控件. 2.添加报表,新建数据集.在报表设计页面上拖入控件设 ...

  2. 部署spingboot项目到云服务器踩坑记录

    按教程部署mall电商系统 https://www.macrozheng.com/mall/deploy/mall_deploy_docker.html#docker环境安装 只记录SpringBoo ...

  3. asp.net.core学习笔记1:swagger的使用和webapi接收Jobject对象

    环境:asp.net.core 3.1 (一觉醒来官方已经不推荐3.0了,于是没有任何core经验,也只能开始了3.1的开发学习) 由于现有项目前后端分离.微服务化日趋流行,所以上手不采用web应用( ...

  4. angular js 实现模糊查询并分页

    如果这篇文章能给你带来帮助,不胜荣幸,如果有不对的地方也请批评指正 共同进步,因为最近使用augular前段所以看了一下,为了加深印象,所以记录一下,废话不多说直接上代码. 首先来讲你可以使用page ...

  5. hexo-theme-tree

    Hexo 主题 Tree 一个简洁的主题,主要功能是 "树状导航" + "树状目录",可选配"评论"和"阅读量"功能,支 ...

  6. 预览服务器上的html静态网页

    预览服务器上的html静态网页 远程服务器中html静态文件不方便直接查看 使用vscode快速预览远程服务器上的html静态文件 我遇到的场景: 我使用windows电脑办公,使用vscode的ss ...

  7. [工作]IT连和IT恋产品已完成第一版,准备上线运营

    本文为原创文章,转载请注明出处!我的博客地址:http://www.cnblogs.com/txwd 嗯!又该写一下工作记录了,因为到目前为此,产品基本完成1.0版本了.安卓版的IT连和IT恋已经小更 ...

  8. 实现接口开启线程(实现Runnable接口)

    步骤 定义类实现Runnable接口 重写run()方法 在测试类创建子类对象 创建线程对象把子类对象作为参数传入构造方法 用线程对象调用start()方法开启线程 //1.类实现Runnable接口 ...

  9. dcloud打包安卓隐私政策上架问题!

    友情链接: https://ask.dcloud.net.cn/article/36937 两种方式: 方式1. 使用dcloud的方式,在打包文件中配置 隐私json文件,使用dclould封装的隐 ...

  10. POD一些概念

    以FAQ的方式来加强对POD的理解: 1.重启了一台机器,之后运行了13天,我看到pod的age并不是我以为的5d,而是远远大于5d.这是因为pod的age,主要是关注uid有没有变化,没有则不会更新 ...