While 9. Дано целое число N (> 1). Найти наименьшее целое число K, при котором выполняется неравенство \(3^K > N\).
Решение на Python 3
import random
N = random.randrange(2,1000)
#N = 100
print('N = ', N)
K = 0
P = 1
while P <= N:
P *= 3
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;
cout << "N = " << N << endl;
int K = 0, P =1;
while(P <= N) {
P *= 3;
K += 1;
}
cout << "K = " << K << endl;
cout << "3^K = " << pow(3,K) << endl;
cout << "3^(K-1) = " << pow(3,K-1) << endl;
return 0;
}