326. Power of Three
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/originalpublic 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/originalpublic 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/originalvar isPowerOfThree = function(n) {
if (n <= 0) return false;
while (n % 3 === 0) {
n = Math.floor(n / 3);
}
return n === 1;
};
Python solución
coincidente/originalclass 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/originalfunc 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.
Todavía no hay vacantes activas.