You are given a positive integer n, please count how many positive integers k satisfy kk≤nkk≤n.
Input
There are no more than 50 test cases.
Each case only contains a positivse integer n in a line.
1≤n≤10181≤n≤1018
Output
For each test case, output an integer indicates the number of positive integers k satisfy kk≤nkk≤n in a line.
Sample Input
1 4
Sample Output
1 2
AC的C++程序如下:
#include<iostream>
using namespace std;
typedef long long ll;
ll fastPow(ll a,ll n){ //快速幂
if(n==1) return a;
ll temp=fastPow(a,n/2);
if(n%2==1){
return temp*temp*a;
}
else{
return temp*temp;
}
}
int main(){
ll n;
while(cin>>n){
int i;
for(i=1;i<=15;i++){ //16的16次方超过10的18次方
if(fastPow(i,i)>n){
break;
}
}
cout<<i-1<<"\n";
}
return 0;
}