342. Power of Four
O texto da tarefa é traduzido do russo para o idioma selecionado. O código permanece sem alterações.
given inteiro n. return true, если оно является степенью числа четыре. В противном случае return false.
inteiro n является степенью числа четыре, если существует inteiro x такое, что n == 4^x.
Exemplo
Input: n = 16
Output: true
C# solução
correspondente/originalpublic 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++ solução
rascunho automático, revisar antes de enviar#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 solução
correspondente/originalpublic 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 solução
correspondente/originalvar 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 solução
correspondente/originalclass 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
vagas ativas with overlapping task tags are mostradas.
Ainda não há vagas ativas.