У тригонометрії є певні кути, відомі як "спеціальні кути". Це тому, що, приймаючи гріх, соз або загар одного з цих кутів, ви отримуєте результат, який легко запам’ятати, оскільки це квадратний корінь раціонального числа. Ці спеціальні кути завжди кратні або pi/6
, або pi/4
. Тут представлена візуалізація всіх спеціальних кутів та відповідних їм значень триггі.
Як бачите, для кожного кута їх відповідна пара чисел. Перше число - це косинус цього кута, а друге - синус цього кута. Щоб знайти дотичну одного з цих кутів, просто розділіть гріх на cos. Наприклад, tan(pi/6)
дорівнює
sin(pi/6) / cos(pi/6) ==
(1/2) / (√3/2) ==
1/√3 ==
√3/3
Змагання
Ви повинні написати повну програму, яка займає 3 входи.
Один знак, що представляє функцію триггеру, яку ви повинні обчислити. Це буде або 's' (sin), 'c' (cos), або 't' (tan).
Чисельник вхідного кута. Це може бути будь-яке додатне ціле число. Зауважте, що вхід 5 означає чисельник 5 * пі.
Знаменник кута введення. Це завжди буде одним із наступних:
1, 2, 3, 4, 6
Потім роздрукуйте точне значення триггерної функції цього кута. Ось список гріха, сос і загару всіх кутів до 2 * пі:
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. Функції вбудованої тригонометрії заборонені.
Найкоротша відповідь у байтах виграє!