开灯问题--------《算法竞赛入门指导》p83

Notes Notes     2022-09-05     216

关键词:

开灯问题。

有n盏灯,编号为1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推。一共有k个人,问最后有哪些灯开着?输入n和k,输出开着的灯的编号。k≤n≤1000。
样例输入:
7 3
样例输出:
1 5 6 7

 

我的代码为

#include<iostream>
using namespace std;
int main(void){
    int n,k;
    cin>>n; //灯的数量n 
    cin>>k; //人的数量k
    int i,j;
    int a[n];

    
    
    j=1;
    for(i=0;i<n;i++){
        a[i]=1;
    }
    for(j=2;j<=k;j++){
        for(i=j-1;i<n;i+=j){
            a[i]=-a[i];
        }    
    }
    
    for(i=0;i<n;i++){
        if(a[i]==1){
            cout<<i+1<<" ";
        }
    }
    return 0;
}

运行结果

 

开灯问题(代码片段)

#include<stdio.h>#include<math.h>//算法竞赛的目标是编程对任意输入均得到正确的结果。//请先独立完成,如果有困难可以翻阅本书代码仓库中的答案,但一定要再次独立完成。//“抓住主要矛盾”——始终把学习、实验的焦点... 查看详情

开灯和蛇形

...头绪,看了答案之后才慢慢能理解,嘛,一步一步来吧。开灯问题,有n盏灯,编号为1-n,第一个人把所有的灯都打开,第二个人按下所有编号为2的倍数的开关(这些灯将被关掉),第三个人按下所有编号为3倍数的开关(其中关... 查看详情

10月15日算法竞赛刷题所得

1.开灯问题a[i]=!a[i]赋相反的值; 注意输入输出;2.错位输入常量字符串的使用getchar 3.回文词常量字符串申明isalpha()函数的使用运用两个变量决定字符串在二维字符数组中的位置4猜数字游戏提示表示无限循环与while(1)相似... 查看详情

《算法竞赛入门经典(第二版)》pdf

...下载内容简介  · · · · · ·《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12章,... 查看详情

算法竞赛入门经典_1.5_习题练习

1.温度问题 #include<stdio.h>intmain(){doublef,c;scanf("%lf",&f);c=5*(f-32)/9.0;printf("%.3lf ",c);return0;} 运行结果:2.平均数问题#include<stdio.h>intmain(){inta,b,c;scanf("%d%d%d",&a 查看详情

算法竞赛从入门到进阶(代码片段)

算法竞赛从入门到进阶1.算法竞赛概述1.1C语言中输入输出函数putchar()getcharprintf()scanf()puts()gets()sscanf()1.2输入结束方式 while(scanf("%d%d",&a,&b)!=EOF)     //等价于 while(~scanf("%d%d",&a,&b)) 查看详情

算法竞赛入门经典刘汝佳

        点击图片或此处下载  查看详情

算法竞赛入门经典(第2版)+算法艺术与信息学竞赛pdf-高清版免费下载

下载地址:网盘下载备用地址:网盘下载  查看详情

拓扑排序((算法竞赛入门经典)刘汝佳)

...条有向边(u,v)相应的u都排在v的前面。在图论中,这个问题称为拓扑排序。&nbs 查看详情

算法竞赛之排序算法初入门

                            关于排序的一些知识点   &nbs 查看详情

《算法竞赛入门经典》之“算法设计与优化策略”

一。构造法UVA120 StacksofFlapjacksTimeLimit: 3000MS  64bitIOFormat: %lld&%lluSubmit Status uDebugDescriptionBackgroundStacksandQueuesareoftenconsideredthebreadandbutt 查看详情

算法竞赛入门暑期速成计划(代码片段)

算法竞赛入门【暑期速成计划】(二)(文章目录)前言习题训练(码题集)1.赌石【AC代码】#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>usingnamespacestd;typedeflongdoubleLD;LDC_div(intk,intn)LDres=1; 查看详情

1151:零起点学算法58——开灯问题

1151:零起点学算法58——开灯问题TimeLimit:1Sec  MemoryLimit:64MB  64bitIOFormat:%lldSubmitted:3195  Accepted:1445[Submit][Status][WebBoard]Description 计算中心有8个机房,每个机房有n台电脑。每台电脑都有一 查看详情

算法竞赛之高精度以及部分组合的入门讲解

...常的数据量,而是高精度数据,这时候要是因为高精度的问题而使得这道题失去了AC的机会岂不是会被队友喷死,所以今天就教教大学关于高精度的一些算法吧。    个人对于高精度的算法,感觉就是很原始的小时... 查看详情

笔记算法竞赛入门经典

contents基础题目选解WERTYU、数据结构基础暴力求解法高效算法设计动态规划初步数学概念与方法图论模型与算法 1、WERTYU刚开始的思路是output[‘S‘]=‘A‘。。。书上的常量表应该会比较通用一点。。而不仅仅适于有序常量。i... 查看详情

习题2-6 排列--------《竞赛算法入门指导》

习题2-6 排列(permutation)用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。按照“abcdefghi”的格式输出所有解,每行一个解。提示:不必太动脑筋。 #include<iostream>usingnamesp... 查看详情

算法竞赛入门经典_6数据结构基础

*6.3 树和二叉树**小球下落问题 //小球下落问题/*有一棵二叉树,最大深度为D,且所有叶子的深度相同.所有节点从上到下从左到右编号为1,2,3,4,...,2^D-1.在节点1处放一小球,它会往下落.每个内节点上都有一个开关,初始全部关闭... 查看详情

随笔笔记算法竞赛入门经典ch3

关于读取scanf()读取到空格自动停止getchar()读取结束返回EOF(整型) 查看详情