求助大佬们算法问题
问题是这样的:#include <stdio.h>int main()
{
int a, b, c, x, y, count = 0;
scanf_s("%d,%d,%d", &a, &b, &c);
for (x = 0; x <= c / a; x++) {
y = (c - a * x) / b;
if (a * x + b * y == c)
count++;
}
printf("count=%d\n", count);
}
求不定方程 ax + by = c 关于未知数 x 和 y 的所有非负整数解组数。
输入格式:一行,包含三个正整数 a,b,c,两个整数之间用单个空格隔开。每个数均不大于 1000。
输出格式:一个整数,即不定方程的非负整数解组数。
看看我这代码问题出在哪了{:10_254:} 执行之后不是我想要的结果 本帖最后由 jhq999 于 2021-11-10 18:01 编辑
Gacy 发表于 2021-11-10 17:38
执行之后不是我想要的结果
是不是求x,y?
int main()
{
int a, b, c, x, y, count = 0;
scanf_s("%d,%d,%d", &a, &b, &c);
if ((c/a)>=0)
{
for (x = 0; x <= c / a; x++)
{
if (0==(c - a * x)%b)
{
y = (c - a * x) / b;
if (a * x + b * y == c)
{
printf("x=%d,y=%d\n", x,y);
count++;
}
}
}
}
if(!count)printf("没有正整数解");
return 0;
}
2,6,78
x=0,y=13
x=3,y=12
x=6,y=11
x=9,y=10
x=12,y=9
x=15,y=8
x=18,y=7
x=21,y=6
x=24,y=5
x=27,y=4
x=30,y=3
x=33,y=2
x=36,y=1
x=39,y=0
scanf_s("%d %d %d", &a, &b, &c);
既然是空格隔开这一句应该是这样吧 jhq999 发表于 2021-11-10 17:48
是不是求x,y?
嗯呢 对的谢谢友友{:10_254:} 村里小黑 发表于 2021-11-10 18:07
既然是空格隔开这一句应该是这样吧
谢谢奥{:10_254:}
页:
[1]