Calculator 01
Xem PDFSau một ngày dài cày code, nhận được một tin nhắn bí ẩn từ người bạn của mình:
“Tôi đã nghĩ ra một phương trình. Tôi biết kết quả của nó, nhưng lại quên mất giá trị của \(x\). Hãy giúp tôi tìm lại \(x\)!”
Phương trình được viết trên một mảnh giấy và có dạng:
Trong đó, mỗi phương trình có thể chứa:
Các số nguyên hoặc số thực.
- Biến \(x\).
- Các phép toán \(+\), \(-\), \(*\), \(/\), lũy thừa (
^). - Dấu ngoặc \((\) và \()\).
Các phép toán tuân theo thứ tự ưu tiên thông thường:
- Dấu ngoặc \((,)\) \(\rightarrow\) Lũy thừa
^\(\rightarrow\) Nhân và chia \(*\), \(/\) \(\rightarrow\) Cộng và trừ \(+\), \(-\).
biết rằng phương trình được tạo ra sao cho tối đa một giá trị của \(x\) thỏa mãn phương trình.
Hãy tính giá trị của \(x\).
Input
- Chỉ gồm một dòng là phương trình được nhận từ tin nhắn bí ẩn
Output
- In ra giá trị của \(x\).
Lưu ý: Làm tròn kết quả của \(x\) đến bốn chữ số thập phân sau dấu phẩy.
Nếu phương trình có vô số nghiệm, in ra INF.
Nếu phương trình không có nghiệm, in ra NO SOLUTION.
Example
Test 1
Input
3*X+7=25
Output
6.0000
Note
Ta có:
\(3x + 7 = 25\)
\(3x = 18\)
\(x = 6\)
Test 2
Input
2*X+5=2*X+5
Output
INF
Note
Vì hai vế luôn bằng nhau với mọi giá trị của \(x\).
Bình luận