326. Power of Three
Il testo del problema è tradotto dal russo per la lingua selezionata. Il codice resta invariato.
given intero n. return true, если оно является степенью тройки, иначе return false.
intero n является степенью тройки, если существует intero x такое, что n == 3^x.
Esempio
Input: n = 27
Output: true
Explanation: 27 = 3^3
C# soluzione
abbinato/originalepublic class Solution {
public bool IsPowerOfThree(int n) {
if (n <= 0) return false;
while (n % 3 == 0) {
n /= 3;
}
return n == 1;
}
}
C++ soluzione
bozza automatica, rivedere prima dell'invio#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 soluzione
abbinato/originalepublic class Solution {
public boolean isPowerOfThree(int n) {
if (n <= 0) return false;
while (n % 3 == 0) {
n /= 3;
}
return n == 1;
}
}
JavaScript soluzione
abbinato/originalevar isPowerOfThree = function(n) {
if (n <= 0) return false;
while (n % 3 === 0) {
n = Math.floor(n / 3);
}
return n === 1;
};
Python soluzione
abbinato/originaleclass Solution:
def isPowerOfThree(self, n: int) -> bool:
if n <= 0:
return False
while n % 3 == 0:
n //= 3
return n == 1
Go soluzione
abbinato/originalefunc 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
offerte attive with overlapping task tags are mostrati.
Non ci sono ancora offerte attive.