W trygonometrii istnieją pewne kąty znane jako „kąty specjalne”. Dzieje się tak dlatego, że biorąc grzech, cos lub opaleniznę pod jednym z tych kątów, otrzymujesz wynik, który jest łatwy do zapamiętania, ponieważ jest pierwiastkiem kwadratowym liczby wymiernej. Te specjalne kąty są zawsze wielokrotnością albo pi/6
, albo pi/4
. Oto wizualizacja wszystkich specjalnych kątów i odpowiadających im wartości wyzwalających.
Jak widać, dla każdego kąta jest to odpowiednia para liczb. Pierwsza liczba to cosinus tego kąta, a druga to sinus tego kąta. Aby znaleźć styczną jednego z tych kątów, po prostu podziel grzech przez cos. Na przykład tan(pi/6)
jest równy
sin(pi/6) / cos(pi/6) ==
(1/2) / (√3/2) ==
1/√3 ==
√3/3
Wyzwanie
Musisz napisać pełny program, który przyjmuje 3 wejścia.
Pojedynczy znak reprezentujący funkcję trig, którą należy obliczyć. Będzie to albo „s” (sin), „c” (cos), albo „t” (tan).
Licznik kąta wejściowego. Może to być dowolna dodatnia liczba całkowita. Zauważ, że wejście 5 oznacza, że licznik to 5 * pi.
Mianownik kąta wejściowego. Zawsze będzie to jedna z następujących czynności:
1, 2, 3, 4, 6
Następnie wydrukuj dokładną wartość funkcji trig tego kąta. Oto lista grzechu, cos i opalenizny pod każdym kątem do 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
Jeśli otrzymasz liczbę większą niż 2pi, odejmij od niej 2pi, aż uzyskasz liczbę z zakresu. Na przykład sin(17pi/6)
jest taki sam jak sin(5pi/6)
== 1/2. Oczekuje się, że twój program wykona podstawowe uproszczenia, na przykład, jeśli twoje dane wejściowe są cos(2pi/4)
takie same jak cos(pi/2)
== 0. Wbudowane funkcje trygonometrii są niedozwolone.
Najkrótsza odpowiedź w bajtach wygrywa!