You are given a positive integer n, please count how many positive integers k satisfy
kk≤n
.
Each case only contains a positivse integer n in a line.
1≤n≤1018
1 4
1 2
题意:输入一个n,计算满足k^k<=n的k的个数;
思路:卡精度,需要打表,不然会wa,错了两发很心痛!
#include <stdio.h> int main() { long long n; long long a[20] = {0, 1, 4, 27, 256, 3125, 46656, 823543, 16777216, 387420489, 10000000000, 285311670611, 8916100448256, 302875106592253, 11112006825558016, 437893890380859375}; while(~scanf("%lld",&n)) { for(int i = 15; i >= 1; i--) { if(n >= a[i]) { printf("%d\n",i); break; } } } return 0; }