Đếm nghiệm 2: Viết chương trình đếm các nghiệm nguyên dương của phương trình: ax+by+cz=d, với a, b, c, d là các số nguyên dương có giá trị không vượt quá 10^5.
Input: Một dòng duy nhất chứa bốn số a, b, c, d.
Output: Ghi ra số lượng các bộ nghiệm của phương trình đã cho.
Sample Input : 1 1 1 3
Sample Output : 1
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,d,x,y,z;
cin >> a >> b >> c >> d;
int dem = 0;
for (x = 1 ; x <= (d - b - c)/a ; ++x)
for (y = 1; y <= (d - a * x - c) / b ; ++y)
for (z = 1; z <= (d - (a * x) - (b * y)) /c ; ++z)
if (a * x + b * y + c * z == d)
dem ++;
cout << dem;
}
Làm thế nào để code chạy nhanh hơn vậy ạ?