While 4. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести TRUE, если не является — вывести FALSE.

Решение на Python 3

import random

#N = random.randrange(1,1000)
N = 81
print('N = ', N)

while N >= 3:
N /= 3
print("Является степенью 3: ", (N==1))

Решение на C++

#include <bits/stdc++.h>
using namespace std;

int main() {
srand((int)time(0));
int N = rand() % 1000 + 1;
//N = 81;
cout << "N = " << N << endl;

double K = N * 1.0;
while(K >= 3)
K /= 3;

cout << "Power of 3: ";
cout << ((K == 1) ? "true" : "false");
cout << endl;

return 0;
}