342. Power of Four
题目文本会按所选界面语言从俄语翻译;代码保持不变。
given 整数 n. return true, если оно является степенью числа четыре. В противном случае return false.
整数 n является степенью числа четыре, если существует 整数 x такое, что n == 4^x.
示例
Input: n = 16
Output: true
C# 解法
匹配/原始public class Solution {
public bool IsPowerOfFour(int n) {
if (n <= 0) return false;
double log_n_base_4 = Math.Log(n) / Math.Log(4);
return log_n_base_4 == Math.Floor(log_n_base_4);
}
}
C++ 解法
自动草稿,提交前请检查#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public bool IsPowerOfFour(int n) {
if (n <= 0) return false;
double log_n_base_4 = Math.Log(n) / Math.Log(4);
return log_n_base_4 == Math.Floor(log_n_base_4);
}
}
Java 解法
匹配/原始public class Solution {
public boolean isPowerOfFour(int n) {
if (n <= 0) return false;
double log_n_base_4 = Math.log(n) / Math.log(4);
return log_n_base_4 == Math.floor(log_n_base_4);
}
}
JavaScript 解法
匹配/原始var isPowerOfFour = function(n) {
if (n <= 0) return false;
const log_n_base_4 = Math.log(n) / Math.log(4);
return log_n_base_4 === Math.floor(log_n_base_4);
};
Python 解法
匹配/原始class Solution:
def isPowerOfFour(self, n: int) -> bool:
if n <= 0:
return False
import math
log_n_base_4 = math.log(n, 4)
return log_n_base_4.is_integer()
Algorithm
Проверка неотрицательности:
Убедитесь, что n больше нуля, так как степени числа четыре всегда положительны.
Проверка логарифмом:
Используйте логарифм для проверки, является ли number степенью четырех. number n является степенью четырех, если логарифм n по основанию 4 является целым numberм.
Проверка побитовым оператором:
number является степенью четырех, если оно является степенью двух (только один бит установлен) и количество нулей после этого бита четно.
😎
Vacancies for this task
活跃职位 with overlapping task tags are 已显示.
目前还没有活跃职位。