Печать
Категория: While
Просмотров: 202

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;
}