A1059. 求解二元整数不定方程
时间限制:1.0s 内存限制:512.0MB
问题描述
求解形如ax+by<=m不定方程的解,其中x,y>0,y>=x;a,b为正整数
输入格式
具体的a,b 和m的值,以逗号隔开。
输出格式
打印该不定方程的所有解,每行打印该不定方程个一组解,每组解的x和y用逗号分隔。顺序为按照x递增,如果x值相等,按y递增。
样例输入
1,1,4
样例输出
1,1
1,2
1,3
2,2
1,2
1,3
2,2
数据规模和约定
1<=a, b, m<=1000。
- #include <stdio.h>
- #include <stdlib.h>
- void equ(int a,int b,int m){
- for(int x=1;x<m;x++){
- for(int y=1;x*a+y*b<=m;y++){
- if(x<=y)
- printf("%d,%d\n",x,y);
- }
- }
- }
- int main(){
- int a,b,m;
- while((scanf("%d,%d,%d",&a,&b,&m))!=EOF){
- equ(a,b,m);
- }
- system("pause");
- return 0;
- }
这是一个C语言程序,用于求解二元整数不定方程。通过两层循环遍历所有可能的x和y值,条件为x乘以a加上y乘以b小于等于m,并且x小于等于y。程序读取输入的a、b和m值,然后输出所有满足条件的x和y的组合。
980

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



