A Math Problem
You are given a positive integer n, please count how many positive integers k satisfy k^k≤n.
Description
You are given a positive integer n, please count how many positive integers k satisfy k^k≤n.
1≤n≤1018
Input
There are no more than 50 test cases.
Each case only contains a positivse integer n in a line.
Output
For each test case, output an integer indicates the number of positive integers k satisfy k^k≤n in a line.
Sample Input
1
4
Sample Output
1
2
题意
手写个pow函数 注意LL
AC代码
#include <bits/stdc++.h>
using namespace std;
#define LL long long
LL Pow(LL a, LL b)
{
LL ans = 1;
while(b) {
if(b&1)
ans = (ans * a);
a = (a * a);
b = b/2;
}
return ans;
}
int main()
{
LL n;
while(~scanf("%lld",&n)) {
for(LL i = 15; i >= 0; i--) {
if(Pow(i,i) <= n) {
printf("%lld\n",i); break;
}
}
}
return 0;
}