326. Power of Three

LeetCode easy original: C# #csharp #easy #leetcode
El texto de la tarea se traduce del ruso para el idioma seleccionado. El código no cambia.

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

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

Ejemplo

Input: n = 27

Output: true

Explanation: 27 = 3^3

C# solución

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

C++ solución

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

Java solución

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

JavaScript solución

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

Python solución

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

Go solución

coincidente/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.

😎

Vacantes para esta tarea

Se muestran vacantes activas con etiquetas coincidentes.

Todas las vacantes
Todavía no hay vacantes activas.