326. Power of Three

LeetCode easy original: C# #csharp #easy #leetcode
Le texte du problème est traduit du russe pour la langue sélectionnée. Le code reste inchangé.

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

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

Exemple

Input: n = 27

Output: true

Explanation: 27 = 3^3

C# solution

correspondant/original
public class Solution {
    public bool IsPowerOfThree(int n) {
        if (n <= 0) return false;
        while (n % 3 == 0) {
            n /= 3;
        }
        return n == 1;
    }
}

C++ solution

brouillon automatique, à relire avant soumission
#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 solution

correspondant/original
public class Solution {
    public boolean isPowerOfThree(int n) {
        if (n <= 0) return false;
        while (n % 3 == 0) {
            n /= 3;
        }
        return n == 1;
    }
}

JavaScript solution

correspondant/original
var isPowerOfThree = function(n) {
    if (n <= 0) return false;
    while (n % 3 === 0) {
        n = Math.floor(n / 3);
    }
    return n === 1;
};

Python solution

correspondant/original
class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        if n <= 0:
            return False
        while n % 3 == 0:
            n //= 3
        return n == 1

Go solution

correspondant/original
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

offres actives with overlapping task tags are affichés.

Toutes les offres
Il n'y a pas encore d'offres actives.