資訊學奧賽一本通 1101:不定方程求解 | OpenJudge NOI 2.1 7650 | 小學奧數 7650
阿新 • • 發佈:2021-01-13
技術標籤:資訊學奧賽一本通題解OpenJudge NOI題解C++基礎c++
【題目連結】
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。
【題解程式碼】
解法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;
}