1101:不定方程求解
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 18201 通过数: 14403
【题目描述】
给定正整数a,b,c。求不定方程 ax+by=c 关于未知数x和y的所有非负整数解组数。
【输入】
一行,包含三个正整数a,b,c,两个整数之间用单个空格隔开。每个数均不大于1000。
【输出】
一个整数,即不定方程的非负整数解组数。
【输入样例】
2 3 18
【输出样例】
4
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c;
int x,y;
int s=0;
cin>>a>>b>>c;
for(x=0;x<=c/a;x++)
{
y=(c-a*x)/b;//由题意得:(c-ax)/b=y
if(a*x+b*y==c) s++;//符合条件,记录)
}
cout<<s<<endl;
return 0;
}
这是一个关于求解形如ax+by=c的不定方程的程序,针对给定的正整数a、b和c,找出所有非负整数解的个数。程序使用循环遍历x的取值范围,并通过算术运算判断是否满足方程,最后输出解的组数。
139

被折叠的 条评论
为什么被折叠?



