Calculator 01

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1700 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Sau một ngày dài cày code, bonavaraWowie 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:

\[\text{(phương trình bên trái)} = \text{(phương trình bên phải)}\]

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 \((\)\()\).

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ừ \(+\), \(-\).

bonavaraWowie 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

Mới nhất
Tải bình luận...

Không có bình luận nào.