Introducción:
El seno de x
está dado por la fórmula:
sin(x) = x - x^3/3! + x^5/5! - x^7/7! + x^9/9! - x^11/11! // and more follows...
El coseno de x
viene dado por la fórmula:
cos(x) = 1 - x^2/2! + x^4/4! - x^6/6! + x^8/8! - x^10/10! // and more follows...
Tarea:
Dado el valor de x
y n
, escriba un programa (sin funciones, etc.) para generar el valor sin(x)
y cos(x)
corregir hasta los n
términos de la fórmula anterior. Supongamos que x
está en radianes.
Entrada:
x n
Un número decimal x
(con hasta 3 lugares decimales) y un número entero n
. La entrada debe estar en stdin o en un cuadro de diálogo (si su idioma no admite stdin)
Salida:
[sin(x)]
[cos(x)]
El valor de ambos sin(x)
y cos(x)
debe redondearse a 6 decimales. Si sin(x)
es 0.5588558855
(10 dígitos decimales), debe redondearse a 0.558856
(6 dígitos decimales). El redondeo debe realizarse al más cercano, como se describe en la quinta columna, "Redondear al más cercano", de la tabla en este artículo de Wiki .
Restricciones:
1 <= x <= 20
1 <= n <= 20
Muestras:
----
5 3
10.208333
14.541667
----
8.555 13
0.765431
-0.641092
----
9.26 10
-3.154677
-8.404354
----
6.54 12
0.253986
0.967147
----
5 1
5.000000
1.000000
----
20 20
-5364.411846
-10898.499385
----
Notas:
- Las lagunas estándar están prohibidas.
- Las funciones matemáticas incorporadas y los operadores de trigonometría (sin, cos, tan, etc.), factorial y exponenciación no se pueden usar. Puede utilizar una función de redondeo incorporada para estimar el resultado de la computación
sin(x)
ycos(x)
el sexto dígito decimal. - No es necesario manejar entradas incorrectas.
- Solo se pueden usar caracteres ASCII en el programa, no los Unicode chinos que permiten la compresión de código.
- Su programa debe finalizar y mostrar la salida dentro de los 3 segundos posteriores a la entrada.
- Su respuesta debe acompañar el código no escrito, junto con la explicación del código (obligatorio si el código no es inmediatamente obvio para los programadores que no están familiarizados con su lenguaje, especialmente GolfScript, J, etc.).
- Incluya un enlace a un compilador en línea donde se pueda probar su programa.
Puntuación:
¡La respuesta con la longitud de código más baja en caracteres, incluidos espacios en blanco, tabulaciones, etc., gana! El ganador sería declarado el 21 de mayo de 2014.
EDITAR : 21/05/14 El ganador es aditsu usando el lenguaje CJam . El segundo lugar sigue a jpjacobs con lenguaje J , y el segundo lugar es primo con lenguaje Perl . ¡Felicidades a todos!
mod 2pi
operación para hacer que las entradas converjan más rápido sería bastante útil: es una de las muchas mejoras que utiliza el mundo real cuando se trata de estas funciones. (en realidad mod pi y reconocimiento de signos).