POJ 1218 THE DRUNK JAILER

THE DRUNK JAILER
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 21957   Accepted: 13879

Description

A certain * contains a long hall of n cells, each right next to each other. Each cell has a *er 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 *ers, possibly zero, realizes that their cells are unlocked and the jailer is incapacitated. They immediately escape. 
Given the number of cells, determine how many *ers 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 *ers that escape when the * has n cells. 

Sample Input

2
5
100

Sample Output

2
10

Source

 

和UVa 10110基本相同,只不过这个是求总个数,而Uva那道只要判断最后一个

解题思路参见UVa 10110(http://www.cnblogs.com/lzj-0218/p/3531714.html

 

POJ 1218 THE DRUNK JAILER
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 
 5 using namespace std;
 6 
 7 int main()
 8 {
 9     int kase;
10 
11     scanf("%d",&kase);
12 
13     while(kase--)
14     {
15         int n;
16         scanf("%d",&n);
17         int tmp=sqrt(n+0.5);
18         printf("%d\n",tmp);
19     }
20 
21     return 0;
22 }
[C++]

POJ 1218 THE DRUNK JAILER

上一篇:Codechef之CodeCraft: IIIT Hyderabad


下一篇:浅谈 Objective-C 下对象的初始化