POJ_1218_THE DRUNK JAILER
来源:互联网 发布:淘宝文案格式 编辑:程序博客网 时间:2024/05/22 06:42
Description
A certain prison contains a long hall of n cells, each right next to each other. Each cell has a prisoner in it, and each cell is locked.
One night, the jailer gets bored and decides to play a game. For round 1 of the game, he takes a drink of whiskey,and then runs down the hall unlocking each cell. For round 2, he takes a drink of whiskey, and then runs down the
hall locking every other cell (cells 2, 4, 6, ?). For round 3, he takes a drink of whiskey, and then runs down the hall. He visits every third cell (cells 3, 6, 9, ?). If the cell is locked, he unlocks it; if it is unlocked, he locks it. He
repeats this for n rounds, takes a final drink, and passes out.
Some number of prisoners, possibly zero, realizes that their cells are unlocked and the jailer is incapacitated. They immediately escape.
Given the number of cells, determine how many prisoners escape jail.
One night, the jailer gets bored and decides to play a game. For round 1 of the game, he takes a drink of whiskey,and then runs down the hall unlocking each cell. For round 2, he takes a drink of whiskey, and then runs down the
hall locking every other cell (cells 2, 4, 6, ?). For round 3, he takes a drink of whiskey, and then runs down the hall. He visits every third cell (cells 3, 6, 9, ?). If the cell is locked, he unlocks it; if it is unlocked, he locks it. He
repeats this for n rounds, takes a final drink, and passes out.
Some number of prisoners, possibly zero, realizes that their cells are unlocked and the jailer is incapacitated. They immediately escape.
Given the number of cells, determine how many prisoners escape jail.
Input
The first line of input contains a single positive integer. This is the number of lines that follow. Each of the following lines contains a single integer between 5 and 100, inclusive, which is the number of cells n.
Output
For each line, you must print out the number of prisoners that escape when the prison has n cells.
Sample Input
25100
Sample Output
210
Source
Greater New York 2002
POJ
经研究表明。。。一个cell被开关的次数其实就是它的约数的个数,而只有有奇数个约数的cell最后才会被关闭。又只有完全平方数才会有奇数个数的约数(这种简单的问题不要问为什么。。),所以这题就转变成求n个数中的完全开平方数的个数。。。(这么睿智的想法不是我自己想出来的,是看了某巨巨博客才发现的好方法。代码如下~)
代码
#include <iostream>#include <cmath>using namespace std;int main(){ ios::sync_with_stdio(false); int t,n; cin>>t; while(t--) { cin>>n; cout<<(int)sqrt(1.0*n)<<endl;//以前一直直接sqrt(n),到今天才发现这样写是错的。。。真不知道以前那些题是怎么水过去的。。 } return 0;}
0 0
- POJ_1218_THE DRUNK JAILER
- THE DRUNK JAILER POJ1218
- pku_1218 THE DRUNK JAILER
- The Drunk Jailer
- poj1218 THE DRUNK JAILER!
- POJ1218 THE DRUNK JAILER
- POJ - THE DRUNK JAILER
- POJ1218:THE DRUNK JAILER
- 1350_The Drunk Jailer
- Poj1218_THE DRUNK JAILER(水题)
- hdu1337-The Drunk Jailer
- POJ1218----THE DRUNK JAILER
- The Drunk Jailer
- THE DRUNK JAILER (数论)
- THE DRUNK JAILER
- THE DRUNK JAILER(poj1218)
- THE DRUNK JAILER
- poj1218THE DRUNK JAILER
- 【线段树专题】poj1151
- LeetCode 119: Pascal's Triangle II
- 手机版支付宝转账截图生成器Q574651623
- [省选前题目整理][BZOJ 1911][APIO 2010]特别行动队(斜率优化DP)
- hdu 2141 Can you find it?(二分+枚举)
- POJ_1218_THE DRUNK JAILER
- Open CV3.0在vs2012下的配置
- SSH整合(三)——Spring声明式事务配置
- 好朋友请珍重
- 程序员修炼之路-(1)基础(中):性能分析
- android动态加载
- 个人对一级缓存,二级缓存的初步理解
- Android中的服务(service)详解(四)--系统服务
- 简单的人机猜拳小游戏