While 10. Дано целое число N (> 1). Найти наибольшее целое число K, при котором выполняется неравенство \(3^K < N\).

Решение на Python 3

import random

N = random.randrange(2,10000)
#N = 100
print('N = ', N)

K = 0
P = 1
while P < N:
P *= 3
K += 1
K -= 1
print("K = {0}, 3^K = {1}, 3^(K+1) = {2}".format(K,3**K,3**(K+1)))

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

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

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

int K = 0, P =1;
while(P < N) {
P *= 3;
K += 1;
}
K -= 1;

cout << "K = " << K << endl;
cout << "3^K = " << pow(3,K) << endl;
cout << "3^(K+1) = " << pow(3,K+1) << endl;

return 0;
}