洛谷 P1876 开灯


这道题凭什么是
!
就因为它代码短?!
还是我太菜了...
第$i$盏灯的开关与否只由其约数个数决定,又有约数公式:
当$n=p_1^{a_1}p_2^{a_2}...p_n^{a_n}$时,
约数个数$=(a_1+1)(a_2+1)...(a_n+1)$
要使灯亮着,则$(a_1+1)(a_2+1)...(a_n+1)$是奇数。
于是$a_1, a_2, a_3, ... a_n$都是偶数。
所以$n=m^2, m=p_1^{a_1/2}p_2^{a_2/2}...p_n^{a_n/2}$
于是所有的完全平方数都满足条件。
Code:
#include<bits/stdc++.h>
#define RG register
using namespace std;
long long n;
int main()
{
scanf("%lld", &n);
for(RG long long i=;i<=(long long)sqrt(n);i++) printf("%lld ", i*i);
return ;
}
洛谷 P1876 开灯的更多相关文章
- 洛谷 P1876 开灯(思维,枚举,规律题)
P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编 ...
- 洛谷P1876开灯
题目描述 有n盏灯,一开始全是关闭的.来n个人, 第一个人把一的倍数的灯开着的关上,关上的打开. 第二个人把二的倍数的灯开着的关上,关上的打开. 第三个人把三的倍数的灯开着的关上,关上的打开. ... ...
- 洛谷P1876 开灯
题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编号为1的人走过来, ...
- 洛谷P1876开灯 题解
题目传送门 这道题目是道数学题(下面也写了),所以仔细研究发现:N轮之后,只有是小于N的完全平方数的灯能亮着.所以接下来就好办了: #include<bits/stdc++.h> usin ...
- 【洛谷】P1876 开灯
P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编 ...
- 【洛谷】【数论】P1876 开灯
[题目描述:] 首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的灯开的关上,关的开起来--直到第N个 ...
- 洛谷 P2962 [USACO09NOV]灯Lights
题目描述 Bessie and the cows were playing games in the barn, but the power was reset and the lights were ...
- [洛谷P2962] [USACO09NOV] 灯Lights
Description Bessie and the cows were playing games in the barn, but the power was reset and the ligh ...
- 洛谷P5283 & LOJ3048:[十二省联考2019]异或粽子——题解
https://www.luogu.org/problemnew/show/P5283 https://loj.ac/problem/3048 小粽是一个喜欢吃粽子的好孩子.今天她在家里自己做起了粽子 ...
随机推荐
- vue 项目搭建笔记1
1.首先安装node.js(傻瓜式安装,安装路径默认C盘) 2.打开node.js command prompt 3.进入想放项目的文件夹.如D: -->回车 4.进入具体文件夹,如cd wo ...
- CentOS7关闭防火墙和selinux
直接上命令 在root用户下 systemctl stop firewalld systemctl disable firewalld systemctl status firewalld vi /e ...
- PhoneGap API 之事件处理_双击返回键退出程序
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- No.3 - CSS transition 和 CSS transform 配合制作动画
课程概述 作业提交截止时间:09-01 任务目的 深度理解掌握 transition-timing-function 以及它的意义 学会配合使用 CSS transform 和CSS transiti ...
- ethereumjs/ethereumjs-block-1-简介
https://github.com/ethereumjs/ethereumjs-block Encoding, decoding and validation of Ethereum's Block ...
- pprint的惊喜
因为我个人经常喜欢打印dir来看模块的方法,每次都是for循环换行,这个真好用 import pprint pprint.pprint (dir(pprint)) 执行下面的代码,会发现,没有自动换行 ...
- openstack 虚拟机 迁移
迁移. 如果 你的 云 系统 正在 使用 共享 存储, 使用 nova live- migration 命令 就可以. 首先, 要 获得 需要 被 迁移 的 实例 列表: # nova list -- ...
- oracle 11G dataguard 恢复
检查主备机的sys 密码是否一致,忘记密码可以修改,同步 .alter user sys identified by xxx: orapwd file=oraxxx.ora password=admi ...
- angular入门一之环境安装及项目创建
angular入门一之环境安装及项目创建 1.安装node.js 下载,安装,在终端测试安装是否成功:node -v(查看nodejs版本) npm -v(查看npm版本) 下载地址:https:// ...
- thinkphp5.1 学习笔记 【多态关联】
$result = Draft::update($input, ['id' => $input['id']], true); if (!empty(array_get($input, 'hous ...