Einführung:
Der Sinus von xist gegeben durch die Formel:
sin(x) = x - x^3/3! + x^5/5! - x^7/7! + x^9/9! - x^11/11! // and more follows...
Der Cosinus von xwird durch die Formel gegeben:
cos(x) = 1 - x^2/2! + x^4/4! - x^6/6! + x^8/8! - x^10/10! // and more follows...
Aufgabe:
Wenn der Wert von xund gegeben ist n, schreiben Sie ein Programm (keine Funktionen usw.), um den Wert der obigen Formel auszugeben sin(x)und diese zu cos(x)korrigieren n. Angenommen, das xist im Bogenmaß.
Eingang:
x n
Eine Dezimalzahl x(mit bis zu 3 Dezimalstellen) und eine Ganzzahl n. Die Eingabe muss in stdin oder in einem Dialogfeld erfolgen (falls Ihre Sprache stdin nicht unterstützt).
Ausgabe:
[sin(x)]
[cos(x)]
Der Wert von beiden sin(x)und cos(x)sollte auf 6 Dezimalstellen gerundet werden. Wenn sin(x)ist 0.5588558855(10 Dezimalstellen), sollte es auf 0.558856(6 Dezimalstellen) gerundet werden . Die Rundung muss auf den nächsten Wert erfolgen, wie in der fünften Spalte "Auf den nächsten Wert runden" der Tabelle in diesem Wiki-Artikel beschrieben .
Einschränkungen:
1 <= x <= 20
1 <= n <= 20
Proben:
----
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
----
Anmerkungen:
- Standardlücken sind verboten.
- Eingebaute mathematische Funktionen und Operatoren für Trigonometrie (sin, cos, tan usw.), Fakultät und Exponentiation können nicht verwendet werden. Es steht Ihnen frei, eine integrierte Rundungsfunktion zur Schätzung des Rechenergebnisses
sin(x)undcos(x)der 6. Dezimalstelle zu verwenden. - Keine Notwendigkeit, mit falschen Eingaben umzugehen.
- Im Programm können nur ASCII-Zeichen verwendet werden, nicht die chinesischen Unicode-Zeichen, die die Codekomprimierung ermöglichen.
- Ihr Programm muss innerhalb von 3 Sekunden nach der Eingabe beendet werden und die Ausgabe anzeigen.
- Ihre Antwort muss zusammen mit der Erklärung des Codes dem Code ohne Golf beigefügt sein (obligatorisch, wenn der Code für Programmierer, die nicht mit Ihrer Sprache vertraut sind, insbesondere GolfScript, J usw., nicht sofort ersichtlich ist).
- Bitte fügen Sie einen Link zu einem Online-Compiler hinzu, auf dem Ihr Programm getestet werden kann.
Wertung:
Die Antwort mit der niedrigsten Codelänge in Zeichen, einschließlich Leerzeichen, Tabulatoren usw., gewinnt! Der Gewinner wird am 21. Mai 2014 bekannt gegeben.
EDIT : 21/05/14 Gewinner ist Aditsu mit CJam-Sprache . Der zweite Platz folgt jpjacobs mit der Sprache J und der zweite Platz ist primo mit der Sprache Perl . Herzlichen Glückwunsch an alle!
mod 2piOperation zu erfordern, um die Konvergenz der Eingaben zu beschleunigen, wäre ziemlich nützlich - es ist eine von vielen Verbesserungen, die die reale Welt beim Umgang mit diesen Funktionen verwendet. (eigentlich mod pi und zeichenbewusstsein).