Giới thiệu:
Các sin của x
được cho bởi công thức:
sin(x) = x - x^3/3! + x^5/5! - x^7/7! + x^9/9! - x^11/11! // and more follows...
Các cosin của x
được cho bởi công thức:
cos(x) = 1 - x^2/2! + x^4/4! - x^6/6! + x^8/8! - x^10/10! // and more follows...
Bài tập:
Cho giá trị của x
và n
, viết chương trình (không có hàm, v.v.) để xuất giá trị sin(x)
và cos(x)
sửa n
các điều khoản của công thức trên. Giả sử đó x
là bằng radian.
Đầu vào:
x n
Một số thập phân x
(có tối đa 3 chữ số thập phân) và một số nguyên n
. Đầu vào phải ở trên stdin hoặc hộp thoại nhắc (nếu ngôn ngữ của bạn không hỗ trợ stdin)
Đầu ra:
[sin(x)]
[cos(x)]
Giá trị của cả hai sin(x)
và cos(x)
nên được làm tròn đến 6 chữ số thập phân. Nếu sin(x)
là 0.5588558855
(10 chữ số thập phân), thì nó phải được làm tròn thành 0.558856
(6 chữ số thập phân). Việc làm tròn phải diễn ra gần nhất, như được mô tả trong cột thứ năm, "Làm tròn đến gần nhất", của bảng trong bài viết Wiki này .
Các ràng buộc:
1 <= x <= 20
1 <= n <= 20
Mẫu:
----
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
----
Ghi chú:
- Sơ hở tiêu chuẩn bị cấm.
- Các hàm toán học tích hợp và toán tử lượng giác (sin, cos, tan, v.v.), giai thừa và lũy thừa có thể được sử dụng. Bạn có thể tự do sử dụng chức năng làm tròn tích hợp để ước tính kết quả tính toán
sin(x)
vàcos(x)
đến chữ số thập phân thứ 6. - Không cần xử lý sai đầu vào.
- Chỉ các ký tự ASCII có thể được sử dụng trong chương trình, không phải các ký tự Unicode tiếng Trung cho phép nén mã.
- Chương trình của bạn phải chấm dứt và hiển thị đầu ra, trong vòng 3 giây kể từ khi nhập.
- Câu trả lời của bạn phải đi kèm với mã không được mã hóa, cùng với phần giải thích mã (bắt buộc nếu mã không rõ ràng ngay lập tức đối với các lập trình viên không quen thuộc với ngôn ngữ của bạn, đặc biệt là GolfScript, J, v.v.).
- Vui lòng bao gồm một liên kết đến một trình biên dịch trực tuyến nơi chương trình của bạn có thể được kiểm tra.
Ghi điểm:
Câu trả lời với độ dài mã thấp nhất trong các ký tự, bao gồm khoảng trắng, tab, v.v ... sẽ thắng! Người chiến thắng sẽ được tuyên bố vào ngày 21 tháng 5 năm 2014.
EDIT : 21/05/14 Người chiến thắng là aditsu sử dụng ngôn ngữ CJam . Á quân đi theo jpjacobs với ngôn ngữ J , và Á hậu thứ hai là nguyên thủy với ngôn ngữ Perl . Chúc mừng tất cả!
mod 2pi
hoạt động để làm cho các đầu vào hội tụ nhanh hơn sẽ khá hữu ích - đó là một trong nhiều cải tiến mà thế giới thực sử dụng khi xử lý các chức năng này. (thực sự mod pi và nhận biết dấu hiệu).