ML8

Задача. Определить периметр правильного [latex]n[/latex]-угольника, описанного около окружности радиуса [latex]r[/latex].

Тесты

[latex]n[/latex] [latex]r[/latex] [latex]P[/latex]
4 2 16
3 5 51.9615
7 3 20.2261
5 5 36.3271
6 6 41.5692

Решение

Величину угла можно найти если задано только количество вершин — [latex]\frac{\pi\cdot(n-2))}{n}[/latex].

Для примера можно рассмотреть квадрат.
Без імені
Так как квадрат — правильный четырёхугольник, то центр вписанной окружности совпадает с центром описанной окружности.  [latex]R[/latex]  делит угол напополам — [latex]\frac{\alpha }{2}[/latex].  Отсюда получаем треугольник:

Без імені

[latex]\frac{\alpha }{2}[/latex] — половина угла квадрата, [latex]\frac{a}{2}[/latex] — половина стороны. Так как [latex]r[/latex] проходит перпендикулярно к стороне [latex]a[/latex], то мы можем воспользоваться формулой тангенса — [latex]tg\frac{\alpha }{2}=\frac{r}{0.5a}=\frac{2r}{a}[/latex] .

[latex]a=\frac{2r}{tg\frac{\alpha }{2}}[/latex].

Выводим формулу только с  [latex]n[/latex] и [latex]r[/latex].

[latex]P=\frac{2nr}{tg(\frac{\pi(n-2)}{2n})}[/latex].

Код

Код можно увидеть здесь

 

Related Images:

12 thoughts on “ML8

    • О, появились, спасибо. Сразу же вопрос: а почему Вы так не доверяете функции tan, что реализуете ее сами?

    • Так лучше.
      Еще я бы не определял PI как десятичную дробь с 7-ю знаками — это и маловато и надо знаки помнить, а мне лень.
      Зато есть метод, который и точнее, и лаконичнее
      const double PI = acos(-1.0);

  1. — Поправьте отступы в программе.
    — Не уверен, что нам нужно столько переменных. Точнее уверен, что кроме n и r нам больше ничего не нужно. Просто выведите в пояснениях окончательную формулу (от n и r), а в коде запрограммируйте её.
    В условии задачи тоже нужно использовать laTeX иначе начертание символов отличается.
    — «A = M_PI * (n-2) / n; //градусное измерение угла» — это неправда.
    — «P = n*a» так пишут в программировании. В математических текстах произведение обозначают точкой по центру строки \dot.

  2. Настя! Нужно внимательно читать свой текст. Перечень ошибок уже превышает объём написанного Вами текста. Некоторые приходится повторять.
    Продолжим.
    – Поправьте отступы в программе.
    — В условии задачи тоже нужно использовать laTeX иначе начертание символов отличается.
    — Видите большие жёлтые прямоугольники вместо формул? Может посмотрите, что с ними не так?
    — «Измерение одного угла можно вычислить если…» Вы имели величину угла?

    • Извините. Я отредактировала эту публикацию раньше, но загрузилась старая публикация со старыми ошибками.

Добавить комментарий