给定一个n,求有多少个k使k的k次方小于等于n。
标准快速幂嘛。。
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long double ld;
typedef long long ll;
ld a[17];
ld kuaimi(int n){
ld res = 1,q = n;
ll a = n;
while(a){
if(a&1) res = res*q;
q *= q;
a >>= 1;
}
return res;
}
int main(){
for(int i = 1;i<=15;++i)
a[i] = kuaimi(i);
ll n,num;
while(cin>>n){
num = 0;
for(int i = 1;i<=15&&a[i]<=n;++i )
++num;
cout<<num<<endl;
}
return 0;
}