1. 程式人生 > 其它 >資訊學奧賽一本通 1101:不定方程求解 | OpenJudge NOI 2.1 7650 | 小學奧數 7650

資訊學奧賽一本通 1101:不定方程求解 | OpenJudge NOI 2.1 7650 | 小學奧數 7650

技術標籤:資訊學奧賽一本通題解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 0xc, 0 ≤ y ≤ c 0\le y\le c 0yc
那麼可以列舉,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; }