326. Power of Three
Der Aufgabentext wird für die gewählte Sprache aus dem Russischen übersetzt. Code bleibt unverändert.
given Ganzzahl n. return true, если оно является степенью тройки, иначе return false.
Ganzzahl n является степенью тройки, если существует Ganzzahl x такое, что n == 3^x.
Beispiel
Input: n = 27
Output: true
Explanation: 27 = 3^3
C# Lösung
zugeordnet/originalpublic class Solution {
public bool IsPowerOfThree(int n) {
if (n <= 0) return false;
while (n % 3 == 0) {
n /= 3;
}
return n == 1;
}
}
C++ Lösung
Auto-Entwurf, vor dem Einreichen prüfen#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 Lösung
zugeordnet/originalpublic class Solution {
public boolean isPowerOfThree(int n) {
if (n <= 0) return false;
while (n % 3 == 0) {
n /= 3;
}
return n == 1;
}
}
JavaScript Lösung
zugeordnet/originalvar isPowerOfThree = function(n) {
if (n <= 0) return false;
while (n % 3 === 0) {
n = Math.floor(n / 3);
}
return n === 1;
};
Python Lösung
zugeordnet/originalclass Solution:
def isPowerOfThree(self, n: int) -> bool:
if n <= 0:
return False
while n % 3 == 0:
n //= 3
return n == 1
Go Lösung
zugeordnet/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.
😎
Stellen zu dieser Aufgabe
aktive Stellen with overlapping task tags are angezeigt.
Es gibt noch keine aktiven Stellen.