Олимпиадная задача // Путь белки

102
08 января 2022, 04:30

у меня возникли некоторые проблемы с одной задачей.Вот краткое условие:

Есть дерево, по которому бежит белка по спирали. За один виток она поднимается на h, высота дерева равна H, длина окружности дерева равна S. Какое расстояние преодолеет белка?Вводные данные должны быть числами целого типа

Пример: h=4, H=16, S=3;
Результат: 20.0000

Я пытался развязать разными способами:

  1. Искал диаметр дерева(d=2*(S/(2*M_PI)));.Потом за формулой l=sqrt(h*h+(M_PI*d)^2) искал длину одного витка. Нашел количество витков(H/h). Потом умножал количество на l;

  2. Считал дерево как цилиндр, на котором есть винтовая линия. Как бы развертывал этот цилиндр, и по сути у меня получался прямоугольник со сторонами H и S, а также диагональ.Снова нашел количество витков, умножил на S и искал по формуле диагональ d=sqrt((H*H)+(Sk*Sk));

    #include <stdio.h>
    #include <math.h>
    int main() {
      int h, H, S;
      scanf("%i %i %i", &h, &H, &S);
      float d,k,l;
      k=H/h;
      d=sqrt((h*h)+(S*S));
      l=d*k;
      printf("%.4f", l);
    }
    
Answer 1
  • Прямоугольник S*H
  • Вектор скорости (S,h)
  • Длина пути H/h * len(S,h) = H/h * sqrt(S*S+h*h)
  • Подставляем данные из условия и получаем 20 ровно

PS: Деление надо выполнять в дробных числах, не целых.

Answer 2

За один оборот (виток) вокруг дерева белка по горизонтали (по горизонтальной окружности) проходит 3, а по вертикали 4. Расстояние по теореме Пифагора 5. Поднимется до верха за 16 / 4 = 4 витка. Пройдет 4 * 5 = 20.

Вы, главное, ни в коем случае не показывайте нам Ваш код. Мы будем гадать, что в нем не так. Это такая игра.

Справа от знака = - целочисленное вычисление:

k=H/h;

Надо:

k = (1.0 * H) / h;

Отметьте ответ Qwertiy как правильный. Он угадал раньше.

READ ALSO
Как сделать jquery ajax запрос на поддомене?

Как сделать jquery ajax запрос на поддомене?

Ajax запрос выполняется на основном домене http://site-ru/ (локальный сервер), но не выполняется на поддомене http://subsite-ru/

97
Проблема с $(window).scroll(function ()

Проблема с $(window).scroll(function ()

Есть скрипт на сайте:

282
Блокировка Async/Await

Блокировка Async/Await

Читаю Рихтера и наткнулся на интересное ограничение асинхронной операции

227
Как соединить enum и тип double

Как соединить enum и тип double

Есть у меня такая конструкция

215