Biểu thức căn thức trên dãy
Toto học lập trình trên dãy số thực kiểu \(double\) và được thầy Titi cho bài tập như sau:
Cho dãy số thực \(a_1,a_2,...,a_n\) hãy tính các biểu thức căn thức sau
\[S_1= \sqrt{a_n+\sqrt{a_{n-1}+ ... + \sqrt{a_2+\sqrt{a_1}}}}\]
\[S_2= \sqrt{a_1+\sqrt{a_{2}+ ... + \sqrt{a_{n-1}+\sqrt{a_n}}}}\]
Tư duy về toán chưa tốt cộng với quá nhiều dấu căn của hai biểu thức ngược xuôi dẫn tới Toto như chìm trong mê cung kiến thức không thể lập trình nổi bạn hãy lập trình giúp Toto nhé
Input
Dòng đầu chứa số nguyên dương n \((1<=n<=10^4)\)
Dòng tiếp theo chứa n số thực có giá trị tuyệt đố không vượt quá \(10^4\)
Output
Dòng thứ nhất nếu tính được \(S1\) xuất ra \(S1\) với độ chính xác 3 chữ số sau dấu chấm thập phân, nếu không tính được xuất ra "Khong tinh duoc S1"
Dòng thứ nhất nếu tính được \(S2\) xuất ra \(S2\) với độ chính xác 3 chữ số sau dấu chấm thập phân, nếu không tính được xuất ra "Khong tinh duoc S2"
Ví dụ 1
Input
5
1 2 3 4 5
Output
2.736
1.756
Ví dụ 2
Input
5
1 2 -3 4 -5
Output
Khong tinh duoc S1
Khong tinh duoc S2
Comments
xem giúp mình bài này với ạ
chạy trên devC kqua vẫn ok nma nộp lại k được test nào
vd a1=10, a2=-2 thì căn(-2+căn(10))= căn(-2+3.162)= căn(1.162) vẫn đúng. nên ô xét if(a[i]<0) mà kết luận luôn ko tính được là sai rồi