基础练习: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;
}

猜你喜欢

转载自blog.csdn.net/qq_43886420/article/details/85160348