Trong hướng dẫn này, chúng ta sẽ viết một chương trình tìm nghiệm tích phân không âm của phương trình tổng.
Phương trình tổng là x + y + z =n. Bạn được cho số n, bạn cần tìm số nghiệm của phương trình. Hãy xem một ví dụ.
Đầu vào
2
Đầu ra
6
Các giải pháp là
0 0 2 0 1 1 0 2 0 1 0 1 1 1 0 2 0 0
Thuật toán
-
Khởi tạo số m.
-
Khởi tạo số đếm thành 0.
-
Viết ba vòng lặp lồng nhau để nhận tất cả các kết hợp của ba số.
-
Kiểm tra tính hợp lệ của phương trình.
-
Nếu các số hiện tại thỏa mãn phương trình, thì hãy tăng số lượng.
-
-
Trả lại số đếm.
Thực hiện
Sau đây là cách thực hiện thuật toán trên trong C ++
#include <bits/stdc++.h> using namespace std; int getEquationSolutionCount(int n) { int count = 0; for (int i = 0; i <= n; i++) { for (int j = 0; j <= n - i; j++) { for (int k = 0; k <= n - i - j; k++) { if (i + j + k == n) { count++; } } } } return count; } int main() { int n = 10; cout << getEquationSolutionCount(n) << endl; return 0; }
Đầu ra
Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.
66