【洛谷】【数论】P1876 开灯
【题目描述:】
首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的灯开的关上,关的开起来……直到第N个人为止。
给定N,求N轮之后,还有哪几盏是开着的。
【输入格式:】
一个数N,表示灯的个数和操作的轮数
【输出格式:】
若干数,表示开着的电灯编号
【说明:】
$ 1\ <=\ N\ <=\ 2^40 $
[算法分析:]
一看n的范围就懵了,一开始想的是开一个数组模拟,\(2^40\)的一维数组是绝对是开不下的。
仔细观察,发现灯的个数,人的个数都是n
如果编号为i的一盏灯最后的状态是关,那i的因子个数一定有偶数个(开和关的操作成对出现)
找开着的灯就变成了找有奇数个因子的数。
设一个数\(n\),\(n∈N^*\)
现有一个数\(i\),\(i∈N^*\) 且 \(i<=n\)
若\(i|n\),则\((n/i)|n\)
当\(i ≠ n/i\)时,就得到了两个\(n\)的因数
若\(i = n/i\),则这个数为完全平方数,所以枚举小于\(n\)的完全平方数就好。
[Code:]
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
long long n;
int main() {
scanf("%lld", &n);
long long l = sqrt(n);
for(int i=1; i<=l; ++i)
printf("%lld ", 1LL*i*i);
}
【洛谷】【数论】P1876 开灯的更多相关文章
- 【洛谷】P1876 开灯
P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编 ...
- 洛谷 P1876 开灯(思维,枚举,规律题)
P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编 ...
- 洛谷P1876开灯
题目描述 有n盏灯,一开始全是关闭的.来n个人, 第一个人把一的倍数的灯开着的关上,关上的打开. 第二个人把二的倍数的灯开着的关上,关上的打开. 第三个人把三的倍数的灯开着的关上,关上的打开. ... ...
- 洛谷P1876 开灯
题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编号为1的人走过来, ...
- 洛谷 P1876 开灯
传送门 这道题凭什么是! 就因为它代码短?! 还是我太菜了... 第$i$盏灯的开关与否只由其约数个数决定,又有约数公式: 当$n=p_1^{a_1}p_2^{a_2}...p_n^{a_n}$时,约 ...
- 洛谷P1876开灯 题解
题目传送门 这道题目是道数学题(下面也写了),所以仔细研究发现:N轮之后,只有是小于N的完全平方数的灯能亮着.所以接下来就好办了: #include<bits/stdc++.h> usin ...
- 洛谷 - P2293 - 高精度开根 - 高精度
https://www.luogu.org/problemnew/show/P2293 要求求出给定高精度整数的非负根取整的结果. 还有神仙用Python的浮点pow运算骗到不少分的. 唉! 那么我们 ...
- 洛谷P1074 靶形数独 [搜索]
题目传送门 题目描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他 们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教, Z 博士拿出了 ...
- 【洛谷P3709】大爷的字符串题
看这题网上居然还没人写blog,怕是都去看洛谷自带的了-- 你才是字符串!你全家都是字符串!这题跟字符串没多大关系,只是出题人lxl想要吐槽某中学而已--... 其实这题说白了就是问区间里出现最多的数 ...
随机推荐
- 子shell以及什么时候进入子shell
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 子shell的概念贯穿整个shell,写shell脚本时更是不 ...
- RPA流程自动化-Blueprism认证考试介绍
RPA流程自动化-Blueprism认证考试介绍 接触RPA有一段时间了,几种RPA相关工具也都试用过,BluePrism是RPA工具的一种,今天跟大家分享考Blueprism的一些经验. RPA(R ...
- Extjs 在项目中碰到问题
1.切换tabpanel,新建tab关闭后再新建报错,在火狐下报错 TypeError: el is null el.addCls.apply(el, arguments); 这个我在下一篇文章中 ...
- 修改Mysql字符集
第一种 一.修改my.ini配置文件(MySQL配置文件) character_set_server = utf8 #设置字符集 重启mysql数据库服务 查看当前数据库字符集 show VARIAB ...
- Java--实现单点登录
1 什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用 ...
- tomcat8 manager页面限制IP访问
tomcat8 manager页面限制IP访问 配置tomcat8/webapps/manager/META-INF/context.xml <Context antiResourceLocki ...
- 初学CSS-3-文字的属性
文字样式属性: 格式:font-style:italic;/normal; 快捷键:fsi / fsn + tab键 文字粗细属性: 格式:font-weight:bold;/bolder;/ligh ...
- Python 模块管理
导入新的模块 创建一个 calculate.py 文件 print('ok') def add(x,y): return x + y def sub(x,y): return x - y 再创建一个 ...
- 【pygame游戏编程】第二篇-----移动图像
Learning From Here import pygame import sys pygame.init() screen_width = 640 screen_high = 480 scree ...
- git命令详解( 四 )
此篇为git命令详解的第四篇,话不多说,我们直接上知识点好吧 git Push 偏离的工作 gitPush: 此命令负责将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录.一旦 git ...