Nella trigonometria, ci sono alcuni angoli noti come "angoli speciali". Questo perché quando prendi il peccato, il cos o l'abbronzatura di uno di questi angoli, ottieni un risultato che è facile da ricordare perché è una radice quadrata di un numero razionale. Questi angoli speciali sono sempre multipli di entrambi pi/6
o pi/4
. Ecco una visualizzazione di tutti gli angoli speciali e dei corrispondenti valori di trigge.
Come puoi vedere, per ogni angolo c'è una corrispondente coppia di numeri. Il primo numero è il coseno di quell'angolo e il secondo è il seno di quell'angolo. Per trovare la tangente di uno di questi angoli, basta dividere il peccato per cos. Ad esempio, tan(pi/6)
è uguale a
sin(pi/6) / cos(pi/6) ==
(1/2) / (√3/2) ==
1/√3 ==
√3/3
La sfida
È necessario scrivere un programma completo che richiede 3 input.
Un singolo carattere che rappresenta la funzione trig che devi calcolare. Questo sarà 's' (sin), 'c' (cos) o 't' (abbronzatura).
Il numeratore dell'angolo di input. Questo può essere qualsiasi numero intero positivo. Si noti che un input di 5 significa che il numeratore è 5 * pi.
Il denominatore dell'angolo di input. Questo sarà sempre uno dei seguenti:
1, 2, 3, 4, 6
Quindi stampare il valore esatto della funzione di attivazione di quell'angolo. Ecco un elenco di sin, cos e tan di tutti gli angoli fino a 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
Se ottieni un numero superiore a 2pi, sottrai 2pi da esso fino a ottenere un numero compreso nell'intervallo. Ad esempio, sin(17pi/6)
è uguale a sin(5pi/6)
== 1/2. Si prevede che il programma eseguirà una semplificazione di base, ad esempio se l'input cos(2pi/4)
è lo stesso di cos(pi/2)
== 0. Le funzioni di trigonometria incorporate non sono consentite.
Vince la risposta più breve in byte!