326. Power of Three

LeetCode easy original: C# #csharp #easy #leetcode
選択した UI 言語に合わせて問題文をロシア語から翻訳します。コードは変更しません。

given 整数 n. return true, если оно является степенью тройки, иначе return false.

整数 n является степенью тройки, если существует 整数 x такое, что n == 3^x.

Input: n = 27

Output: true

Explanation: 27 = 3^3

C# 解法

照合済み/オリジナル
public class Solution {
    public bool IsPowerOfThree(int n) {
        if (n <= 0) return false;
        while (n % 3 == 0) {
            n /= 3;
        }
        return n == 1;
    }
}

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 IsPowerOfThree(int n) {
        if (n <= 0) return false;
        while (n % 3 == 0) {
            n /= 3;
        }
        return n == 1;
    }
}

Java 解法

照合済み/オリジナル
public class Solution {
    public boolean isPowerOfThree(int n) {
        if (n <= 0) return false;
        while (n % 3 == 0) {
            n /= 3;
        }
        return n == 1;
    }
}

JavaScript 解法

照合済み/オリジナル
var isPowerOfThree = function(n) {
    if (n <= 0) return false;
    while (n % 3 === 0) {
        n = Math.floor(n / 3);
    }
    return n === 1;
};

Python 解法

照合済み/オリジナル
class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        if n <= 0:
            return False
        while n % 3 == 0:
            n //= 3
        return n == 1

Go 解法

照合済み/オリジナル
func isPowerOfThree(n int) bool {
    if n <= 0 {
        return false
    }
    for n % 3 == 0 {
        n /= 3
    }
    return n == 1
}

Algorithm

Проверка начального значения

Если n меньше или равно нулю, вернуть false, так как степени тройки всегда положительны.

Цикл деления на 3

Пока n делится на 3 без остатка, делите n на 3. Повторяйте этот процесс до тех пор, пока n делится на 3.

Проверка конечного значения

Если после всех делений значение n стало равно 1, значит исходное number является степенью тройки, вернуть true. В противном случае вернуть false.

😎

Vacancies for this task

有効な求人 with overlapping task tags are 表示.

すべての求人
有効な求人はまだありません。