Làm việc với số phức

C++:
Làm việc với số phức

Cách thực hiện:

C++ có một thư viện tích hợp <complex> giúp dễ dàng làm việc với số phức. Dưới đây là cái nhìn nhanh:

#include <iostream>
#include <complex>

int main() {
    std::complex<double> num1(2.0, 3.0); // Tạo một số phức (2 + 3i)
    std::complex<double> num2(3.0, 4.0); // Một số phức khác (3 + 4i)

    // Phép cộng
    std::complex<double> kết_quả = num1 + num2;
    std::cout << "Kết quả cộng: " << kết_quả << std::endl; // (5 + 7i)

    // Phép nhân
    kết_quả = num1 * num2;
    std::cout << "Kết quả nhân: " << kết_quả << std::endl; // (-6 + 17i)

    // Số liên hợp
    kết_quả = std::conj(num1);
    std::cout << "Số liên hợp của num1: " << kết_quả << std::endl; // (2 - 3i)
    
    return 0;
}

Sâu hơn

Số phức có một lịch sử phong phú, lần đầu tiên xuất hiện trong các giải pháp của phương trình bậc ba vào thế kỷ 16. Chúng thiết yếu trong nhiều lĩnh vực, không chỉ lập trình. Trong khoa học máy tính, số phức giúp trong các thuật toán yêu cầu không gian số hai chiều, như Chuyển đổi Fourier Nhanh (FFT).

Mặc dù thư viện <complex> của C++ là tiêu chuẩn, nhưng cũng tồn tại các lựa chọn khác trong các ngôn ngữ khác, như kiểu dữ liệu complex của Python hay thư viện toán học của JavaScript. Chính thư viện <complex> cung cấp chức năng toàn diện, bao gồm các phép toán lượng giác, mũ, và logarit được thiết kế riêng cho số phức.

Khi lập trình với số phức, việc hiểu biết về toán học cơ bản là chìa khóa để tránh các thiếu chính xác và hiểu các hoạt động như liên hợp phức, nghịch đảo dấu của phần ảo, hoặc các hệ quả của công thức Euler liên hệ giữa mũ phức và hàm lượng giác.

Xem thêm