【题目链接】
ybt 1101:不定方程求解
OpenJudge NOI 2.1 7650:不定方程求解
OpenJudge NOI 小学奥数 7650:不定方程求解
【题目考点】
1. 枚举
【解题思路】
对不定方程
a
x
+
b
y
=
c
ax + by = c
ax+by=c
a,b,c都是正整数且x,y必须是非负整数解;那么有
0
≤
x
≤
c
0\le x \le c
0≤x≤c,
0
≤
y
≤
c
0\le y\le c
0≤y≤c。
那么可以枚举,x,y分别从0循环到c,看ax + by的结果是否等于c。
如果出现
a
x
+
b
y
=
c
ax + by = c
ax+by=c的情况,那么就是找到了一组解。
【题解代码】
解法1:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b, c, ct = 0;//ct:计数,有多少组解
cin>>a>>b>>c;
for(int x = 0; x <= c; ++x)
for(int y = 0; y <= c; ++y)
{
if(a*x + b*y == c)
ct++;
}
cout<<ct;
return 0;
}