【题目描述】
给定正整数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;
int x,y;
int 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;//由题意得:(c-ax)/b=y
if(a*x+b*y==c) sum++;//符合条件,记录
}
cout<<sum<<endl;
return 0;
}
信息学奥赛一本通T1101:循环嵌套 不定方程求解 归属于 循环嵌套,更多同类题解源程序见:循环嵌套 和 不定方程求解
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!