//g++ -Wall -o 1 1.cpp
//./1
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n;
cin>>n;
if (n == 0){
cout<<0;
return 0;
}
else{
int a1 = 0 , a2 = 1;
int c = 1;
while(a2<=n){
if (a2==n){
cout<<c;
return 0;
}
a1 = a2;
a2 = a1+a2;
c++;
}
cout<<-1;
return 0;
}
}
Объяснение:
ответ: 24
Объяснение:
2 бита в двоичной системе дают 4 возможных комбинации. То есть вероятность извлечения белого шара 1/4, то (исходное целое делим на количество комбинаций) . Таким образом, получаем, что всего шаров: белых - одна часть, а чёрных - три. То есть белых шаров в 3 раза меньше: 18 / 3 = 6 (штук) .
А всего шаров:
18 чёрных + 6 белых = 24
или
Пусть в корзине всего x шаров, тогда среди них x-18 белых.
Вероятность того, что из корзины будет вынут белый шар равна P=(x-18)/x
Количество собственной информации равно I=log2(1/P)=log2(1/(x-18)/x))=log2(x/(x-18))
Отсюда
log2(x/(x-18))=2
x/(x-18)=2^2
x=4x-72
x=24 шара