342. Power of Four

LeetCode easy original: C# #bit-manipulation #csharp #easy #leetcode #math
Văn bản bài toán được dịch từ tiếng Nga theo ngôn ngữ giao diện. Mã không thay đổi.

given số nguyên n. return true, если оно является степенью числа четыре. В противном случае return false.

số nguyên n является степенью числа четыре, если существует số nguyên x такое, что n == 4^x.

Ví dụ

Input: n = 16

Output: true

C# lời giải

đã khớp/gố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++ lời giải

bản nháp tự động, xem lại trước khi gửi
#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 lời giải

đã khớp/gốc
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 lời giải

đã khớp/gốc
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 lời giải

đã khớp/gốc
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

việc làm đang hoạt động with overlapping task tags are đã hiển thị.

Tất cả việc làm
Chưa có việc làm đang hoạt động.