While 5. Дано целое число N (> 0), являющееся некоторой степенью числа 2: \(N = 2^K\). Найти целое число K — показатель этой степени.
Решение на Python 3
import random
K = random.randrange(1,30)
N = 2 ** K
print('K = ', K)
print('N = ', N)
K_new = 0
while N >= 2:
N /= 2
K_new += 1
print("K = ", K_new)
Решение на C++
#include <bits/stdc++.h>
using namespace std;
int main() {
srand((int)time(0));
int K = rand() % 20 + 1;
long N = pow(2,K);
//N = 81;
cout << "K = " << K << endl;
cout << "N = 2^" << K << " = ";
cout << N << endl;
int K2 = 0;
double N2 = N * 1.0;
while(N2 >= 2) {
N2 /= 2;
K2 += 1;
}
cout << "Again K = " << K2 << endl;
return 0;
}