В тригонометрии существуют определенные углы, известные как «особые углы». Это потому, что когда вы берете sin, cos или tan одного из этих углов, вы получаете результат, который легко запомнить, потому что это квадратный корень из рационального числа. Эти специальные углы всегда кратны либо pi/6
, либо pi/4
. Вот визуализация всех специальных углов и их соответствующих значений триггера.
Как видите, каждому углу соответствует пара чисел. Первое число - косинус этого угла, а второе - синус этого угла. Чтобы найти тангенс одного из этих углов, просто разделите грех на cos. Например, tan(pi/6)
равно
sin(pi/6) / cos(pi/6) ==
(1/2) / (√3/2) ==
1/√3 ==
√3/3
Соревнование
Вы должны написать полную программу, которая занимает 3 входа.
Один символ, представляющий функцию триггера, которую вы должны вычислить. Это будет «s» (грех), «c» (cos) или «t» (загар).
Числитель угла ввода. Это может быть любое положительное целое число. Обратите внимание, что ввод 5 означает, что числитель 5 * пи.
Знаменатель входного угла. Это всегда будет одним из следующих:
1, 2, 3, 4, 6
Затем распечатайте точное значение функции триггера этого угла. Вот список значений sin, cos и tan всех углов до 2 * pi:
sin(0pi): 0
sin(pi/6): 1/2
sin(pi/4): root(2)/2
sin(pi/3): root(3)/2
sin(pi/2): 1
sin(2pi/3): root(3)/2
sin(3pi/4): root(2)/2
sin(5pi/6): 1/2
sin(1pi): 0
sin(7pi/6): -1/2
sin(5pi/4): -root(2)/2
sin(4pi/3): -root(3)/2
sin(3pi/2): -1
sin(5pi/3): -root(3)/2
sin(7pi/4): -root(2)/2
sin(11pi/6): -1/2
sin(2pi): 0
cos(0pi): 1
cos(pi/6): root(3)/2
cos(pi/4): root(2)/2
cos(pi/3): 1/2
cos(pi/2): 0
cos(2pi/3): -1/2
cos(3pi/4): -root(2)/2
cos(5pi/6): -root(3)/2
cos(1pi): -1
cos(7pi/6): -root(3)/2
cos(5pi/4): -root(2)/2
cos(4pi/3): -1/2
cos(3pi/2): 0
cos(5pi/3): 1/2
cos(7pi/4): root(2)/2
cos(11pi/6): root(3)/2
cos(2pi): 1
tan(0pi): 0
tan(pi/6): root(3)/3
tan(pi/4): 1
tan(pi/3): root(3)
tan(pi/2): nan
tan(2pi/3): -root(3)
tan(3pi/4): -1
tan(5pi/6): -root(3)/3
tan(1pi): 0
tan(7pi/6): root(3)/3
tan(5pi/4): 1
tan(4pi/3): root(3)
tan(3pi/2): nan
tan(5pi/3): -root(3)
tan(7pi/4): -1
tan(11pi/6): -root(3)/3
tan(2pi): 0
Если вы получаете число больше 2pi, вычитайте из него 2pi, пока не получите число, которое находится в диапазоне. Например, sin(17pi/6)
это то же самое, что и sin(5pi/6)
== 1/2. Ожидается, что ваша программа будет выполнять базовое упрощение, например, если ваш ввод cos(2pi/4)
такой же, как cos(pi/2)
== 0. Встроенные тригонометрические функции запрещены.
Кратчайший ответ в байтах побеждает!