版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangmolulu/article/details/82864861
核心代码
k的k次方
long long int poww(int a){
long long int ans = 1,base = a;
while(a != 0){
if(a & 1 != 0) ans *= base;
base *= base;
a >>= 1;
}
return ans;
}
完整代码
#include<iostream>
#include<cmath>
using namespace std;
long long int poww(int a){
long long int ans = 1,base = a;
while(a != 0){
if(a & 1 != 0) ans *= base;
base *= base;
a >>= 1;
}
return ans;
}
int main(){
long long int n;
while(cin>>n){
int count = 0;
for(int i = 1;i <= 15;++i){
if(poww(i) > n) break;
count++;
}
cout<<count<<endl;
}
return 0;
}