Computer >> Máy Tính >  >> Lập trình >> C ++

Số nghiệm nguyên không âm của phương trình tổng trong C ++

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