1. 程式人生 > >7650:不定方程求解 ①

7650:不定方程求解 ①

描述

給定正整數a,b,c。求不定方程 ax+by=c 關於未知數x和y的所有非負整數解組數。

輸入

一行,包含三個正整數a,b,c,兩個整數之間用單個空格隔開。每個數均不大於1000。

#include <bits/stdc++.h>
using namespace std;
int main(){
    int a,b,c,ans;
    cin>>a>>b>>c;
    ans=0;
    for(int i=0;i<=c/a;i++)
        for(int j=0;j<=c/b;j++)
            if(a*i+b*j==c)ans++;
    printf("%d",ans);
    return 0;
}

一重迴圈也可以:

#include <bits/stdc++.h>
using namespace std;
int main(){
    int a,b,c,ans;
    cin>>a>>b>>c;
    ans=0;
    for(int i=0;i<=c/a;i++)
        if((c-a*i)%b==0)ans++;
    printf("%d",ans);
    return 0;
}