【Acm】开关灯
来源:互联网 发布:linux下安装禅道 编辑:程序博客网 时间:2024/04/29 14:51
Description
n盏灯排成一排,从1到n按顺序依次编号。有n个人也从1到n依次编号。第一个人(1号)将灯全部关闭。第二个人(2号)将凡是2和2的倍数的灯打开。第三个人(3号)将凡是3和3的倍数的灯作相反处理(该灯如为打开的将其关闭;如为关闭的,将其打开)。以后的人都和三号一样,将凡是与自己相同的灯和是自己编号倍数的灯作相反处理。请问,当第n个人操作之后,从第A盏灯跟第B盏灯之间(包含AB两盏),有多少灯是开着的?
n盏灯排成一排,从1到n按顺序依次编号。有n个人也从1到n依次编号。第一个人(1号)将灯全部关闭。第二个人(2号)将凡是2和2的倍数的灯打开。第三个人(3号)将凡是3和3的倍数的灯作相反处理(该灯如为打开的将其关闭;如为关闭的,将其打开)。以后的人都和三号一样,将凡是与自己相同的灯和是自己编号倍数的灯作相反处理。请问,当第n个人操作之后,从第A盏灯跟第B盏灯之间(包含AB两盏),有多少灯是开着的?
Input
三个数,N,A,B(A<B<N<10^7)
三个数,N,A,B(A<B<N<10^7)
Output
从A到B(包含AB)开着的灯的数目
从A到B(包含AB)开着的灯的数目
Sample Input
5 1 3
5 1 3
Sample Output
2
2
判断第i盏灯是不是亮的,只需要判断i的非1约数是奇数个还是偶数个,即判断i能不能被开平方根即可。
#include <iostream>#include <math.h>using namespace std;int main(){int N,a,b,sum=0;cin>>N>>a>>b;for(int i=a;i<=b;i++){double x=sqrt(i);double xx= floor (x);if(x-xx!=0)sum++;}cout<<sum<<endl;return 0;}
0 0
- 【Acm】开关灯
- 开关灯
- 灯开关
- 开关灯
- 一个开关(灯)组件
- 【wikioi1690】 开关灯
- wikioi 开关灯
- 开关灯 动态规划
- 开关控制流水灯
- 开关灯问题
- codevs uscaco 开关灯
- CODVS 开关灯
- 开关灯问题
- 开关灯问题
- 开关灯问题
- Pascal开关灯问题
- 类似开关灯问题
- codevs 1690 开关灯
- [Leetcode]Binary Tree Level Order Traversal II
- LeetCode: Largest Number
- [Android] [危险!]支付宝钱包手势密码实战破解(root过的手机可直接绕过手势密码
- Windows 2000、2003、2008、2008 R2(IIS 5、6、7、7.5)中不支持 .shtml、.shtm 的解决办法
- 数据库设计的重要性和设计原则
- 【Acm】开关灯
- POJ 1006 Biorhythms
- Largest Number|leetcode解决方案
- Mac下配置PHP+MySql环境
- ADB连接不上的解决方法
- Leetcode: Same Tree
- three.js 源码注释(五十九)objects/Mesh.js
- Java笔记整理——包装类
- System.getProperty()的用途