Chào mọi người, cho mình xin phép hỏi…
Input là một string mô tả một hàm số siêu việt:
Vd: “sin (x) + cos (x)/e^x - 4tan(4x)”
Bây giờ nếu có giá trị của x thì tính giá trị của f(x) như thế nào nhỉ?
Cách duy nhất mình có thể nghĩ ra đó là cắt từng đoạn của input ra thành các phần nhỏ riêng biệt rồi tính từng phần xonq tổng giá trị lại với nhau sẽ được giá trị của hàm số:
["sin (x), “cos (x)/e^x”, “4tan(4x)”]
Tuy nhiên như vậy thì code để thực hiện việc này khá là khoai và rất dễ lỗi vì sự phức tạp của phương trình nếu có thêm các dấu ngoặc () {} [] để thể hiện độ ưu tiên tính toán, rồi các phép / (chia), * (nhân) lồng vào nhau, … .
Mô tả của mình khá giống với thao tác trên máy tính cầm tay Casio. Mọi người có giải pháp nào hoặc kinh nghiệm gì về vấn đề này không ạ? Mình cảm ơn.
*Hàm siêu việt: nôm na là hàm số không có x^n.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?