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