【题目大意】
给你个整数 nnn ,如果 log2nlog_2nlog2 n为整数并且 log2(log2n)log_2(log_2n)log2 (log2 n) 为整数输出perfect,如果 log2nlog_2nlog2 n 为整数但是 log2(log2n)log_2(log_2n)log2 (log2 n) 不是整数输出good,如果 log2nlog_2nlog2 n 不是整数输出general。
SUBTASK: 100%
【算法分析】
本题考查对二进制的理解。
我们发现如果 log2nlog_2nlog2 n 为整数,那么n的二进制肯定只有一位为 111 ,而 log2nlog_2nlog2 n 实际就是 n的二进制位数−1n的二进制位数-1n的二进制位数−1。
时间复杂度 O(logn) 。
【参考代码】