题目给出了三个正整数 a,b,c,表示不定方程 ax+by=c 的系数和常数项,我们要求出关于未知数 x 和 y 的所有非负整数解的组数。
题目还给出了输入和输出的格式,以及一个样例,说明了数据的范围和结果的要求。
我们可以用一个变量 ans 来记录解的组数,初始为 0,然后用两层循环来枚举 x 和 y 的所有可能的取值,每次检查是否满足方程,如果满足,就将 ans 加 1,最后输出 ans 即可。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b, c; //定义三个整型变量,分别表示 a,b,c
cin >> a >> b >> c; //输入 a,b,c
int ans = 0; //定义一个整型变量,表示解的组数,初始为 0
for(int x = 0; x <= 1000; x++) //定义一个外层循环,从 0 开始,每次加 1,直到 1000 为止,x 表示 x 的取值
{
for(int y = 0; y <= 1000; y++) //定义一个内层循环,从 0 开始,每次加 1,直到 1000 为止,y 表示 y 的取值
{
if(a * x + b * y == c) //如果 x 和 y 满足方程
{
ans++; //将解的组数加 1
}
}
}
cout << ans << endl; //输出解的组数
return 0; //返回 0,表示程序正常结束
}