Phép toán trong C++

Cho mình hỏi là không sử dụng quá 8 phép toán thì theo như bài trên (), <<, >>, hay phép so sánh có được gọi là phép toán giống +,-,*,/ không? mình cảm ơn:)

Các phép so sánh cũng được gọi là phép toán tử logic

1 Like

f(x) viết lại thành 1 + x*(2 + x*(3 - 4*x)), như vậy chỉ có 3 phép nhân và 3 phép cộng thôi. Kiểu viết này là theo Horner.

1 Like

cho mình hỏi phép () có được gọi là 1 phép toán không?

Hình như đó không phải là phép, chỉ là kí tự thôi :smile:

1 Like

đây, toán tử có () :3

~.~ phép toán đề cập ở đây là cộng trừ nhân chứ () thì phép toán gì ở đây, lớp 5 nó cũng biết ~.~

mà nếu () được tính là “phép toán” thì cũng chỉ có thêm 2 dấu (), vậy là đúng 8 “phép toán” đó

Nếu theo bạn chấp nhận () tạo ra 8 “phép toán” vậy phép gán(=), vào(>>) và ra(<<) cũng là phép toán tử vậy là có tính vô được không

  • Không phải bất cứ operator nào cũng gọi là phép toán nhé.
  • Đề bài rõ ràng là dùng từ “phép toán” (Arithmetic operators) - tức là thao tác toán học: cộng, trừ, nhân, chia, …
  • Ngoài ra còn các operator khác:
    + Phép so sánh (Comparison operators/relational operators): <, >, != …
    + Logical operators: &&, ||, ~, …

Bạn tham khảo thêm ở đây:

1 Like

đề yêu cầu là tính biểu thức chỉ dùng ko quá 8 phép toán cộng trừ nhân mà.

<< với >> đâu có liên quan tới tính biểu thức. cout << hay cin >> là dùng để nhập x hay output kết quả có liên quan gì vô tính toán biểu thức đâu ~.~

cái ý của đề đưa ra là nếu tính “trực tiếp” thì f(x) = 1 + 2x + 3x2 - 4x3 sẽ cần:
1 phép nhân để tính x2 = xx,
2 phép nhân để tính x3 = x
xx,
3 phép nhân để tính 2
x, 3x2, 4x3
3 phép cộng/trừ để tính 1 + 2x + 3x2 - 4x
tổng cộng là 9 phép toán cộng/trừ/nhân. Đề đòi ko quá 8 phép toán ý là tìm cách tính biểu thức “tiết kiệm” hơn. Như cách tính ở trên thì có thể ko cần tới 2 phép nhân để tính x3, mà chỉ cần 1 phép nhân thôi: x3 = x2*x. Tuy nhiên có cách tiết kiệm hơn.

xài công thức Horner như ở trên là tiết kiệm nhất: đa thức bậc n chỉ cần n phép nhân và n phép cộng. Ở đây f(x) = 1 + 2x + 3x2 - 4x3 là bậc 3, chỉ cần 3 phép nhân và 3 phép cộng.

2 Likes

Oh, e mới học C++ nên không rõ mấy cái này lắm, không hiểu cái tổng quan của nó, giờ mới hiểu,e cảm ơn :smile:

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