30/09/2018, 20:00

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:)

Ngô Doãn Tuấn viết 22:11 ngày 30/09/2018

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

viết 22:01 ngày 30/09/2018

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.

Tri Ngo viết 22:06 ngày 30/09/2018

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

17XGOD viết 22:14 ngày 30/09/2018

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

Tri Ngo viết 22:02 ngày 30/09/2018

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

viết 22:03 ngày 30/09/2018

~.~ 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” đó

Tri Ngo viết 22:10 ngày 30/09/2018

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

Pham Van Hai viết 22:16 ngày 30/09/2018
  • 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:

en.wikipedia.org

Operators in C and C++

This is a list of operators in the C and C++ programming languages. All the operators listed exist in C++; the fourth column "Included in C", states whether an operator is also present in C. Note that C does not support operator overloading. When not overloaded, for the operators &&, ||, and , (the comma operator), there is a sequence point after the evaluation of the first operand. C++ also contains the type conversion operators const_cast, static_cast, dynamic_cast, and reinterpret_cast. The ...

viết 22:03 ngày 30/09/2018

đề 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.

Tri Ngo viết 22:07 ngày 30/09/2018

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

Bài liên quan
0