1. 程式人生 > >基礎練習:1101:不定方程求解

基礎練習:1101:不定方程求解

1101:不定方程求解
【題目描述】
給定正整數a,b,c。求不定方程 ax+by=c 關於未知數x和y的所有非負整數解組數。
【輸入】
一行,包含三個正整數a,b,c,兩個整數之間用單個空格隔開。每個數均不大於1000。
【輸出】
一個整數,即不定方程的非負整數解組數。
【輸入樣例】
2 3 18
【輸出樣例】
4

#include<iostream>
using namespace std;
int main()
{   int a,b,c,x,y,sum=0;
    cin>>a>>b>>c;
    for(x=0;x<=c/a;x++)      ///由題意得:(c-by)/a=x,可知:c/a>=x
    {y=(c-a*x)/b;
	if(a*x+b*y==c)
    sum++;
	}
	cout<<sum<<endl;
    return 0;
}