poj 1218 THE DRUNK JAILER

THE DRUNK JAILER
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 23358   Accepted: 14720

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

 #include<iostream>
#include<string.h>
#include<stdio.h>
#include<ctype.h>
#include<algorithm>
#include<stack>
#include<queue>
#include<set>
#include<math.h>
#include<vector>
#include<map>
#include<deque>
#include<list>
using namespace std;
int main()
{
int n,i,j,k,a,count,counter;
scanf("%d",&n);
for(i=;i<=n;i++)
{
counter=;
scanf("%d",&a);
for(k=;k<=a;k++)
{
count=;
for(j=;j<=a;j++)
if(k%j==)
count++;
if(count%!=)
counter++;
}
printf("%d\n",counter);
}
return ;
}
上一篇:Socket实例之客户端向服务端数据库上传文件UI版


下一篇:“互联网+”引发IT人才招工荒-新华网安徽频道