//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;
}
}
Объяснение:
Смотрим на диаграмму, видим, что у нас тут 4 части: Одна большая (половина всей окружности), вторая (1/4 от всей окружности) и еще две половинки (1/8 от всей окружности каждая)
Давай теперь посчитаем наши значения в ячейках A2:D2
A2 = (6+6)/3 = 12/3 = 4
B2 = 4 - 2 = 2
C2 = 2 / 2 = 1
Так, ну теперь думаем, что за число нам нужно получить, чтобы получилось соответствие с окружностью.
Сразу ясно, 4 - большая часть, а ее половина это 2 и еще одну ячейка, которая равна 1, получается, что у нас не хватает только части, которая равна 1/8 окружности, которая равна 1, просто ищем формулу, которая нам даст единицу.
=C1 / 2 = 3 - не подходит
=C2/B2*4 = 1/2 * 4 = 2 - не подходит
=D1 * 2 = 4 * 2 = 8 - не подходит
=C2 = 1 - подходит
Давайте проверим тогда, если половинка это 4, то вся окружность это 8
4 + 2 + 1 + 1 = 8, а это значит, что мы всё верно решили.
ответ: =C2
Остались вопросы - добро в комментарии.
Обожаю такие задачи. Спрашивают того, чего не дано. Поэтому приму это так, как будет удобнее мне. Их явно какой-то дурачок делал
1. Если 1 символ = 1 байт: 30*40*50*1 = 60000 байт
2. [ 4*1024/7 ] = 585
3. Этого пункта даже нету.
4. "ВместитЬся"? Прощаю. [ 8*1024/150 ] = 54
5. 2*1024/64 = 32
6. 512*1024 = 524288
7. Неизвестно. Ну пусть будет 233/8/1024/1024/1024 ~ e*10^-8
8. 0.25*1024*8 = 2048
9. 3