Locker doors
1000(ms)
65535(kb)
1079 / 3739
There are n lockers in a hallway numbered sequentially from 1 to n. Initially, all the locker doors are closed. You make n passes by the lockers, each time starting with locker #1. On the ith pass, i = 1, 2, ..., n, you toggle the door of every ith locker: if the door is closed, you open it, if it is open, you close it. For example, after the first pass every door is open; on the second pass you only toggle the even-numbered lockers (#2, #4, ...) so that after the second pass the even doors are closed and the odd ones are opened; the third time through you close the door of locker #3 (opened from the first pass), open the door of locker #6 (closed from the second pass), and so on. After the last pass, which locker doors are open and which are closed? How many of them are open?Your task is write a program to output How many doors are open after the last pass? Assumptions all doors are closed at first.
输入
a positive numbers n, total doors. n<=100000
输出
a positive numbers ,the total of doors opened after the last pass.
样例输入
10
样例输出
3
#include<iostream>
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<string>
#include<math.h>
using namespace std;
int main() {
int x;
while(cin>>x){
int y=sqrt(x);
cout<<y<<endl;
}
}