最好简单粗暴一点,刚刚学。
求出二元一次方程ax+by=2019(a,b为正整数)的所有正整数解(即x,y都为正整数)。
输入a,b的值。
方程所有的正整数解;若无解,请输出“Unsolvable”。
输入
1 2018
输出
1 1
请你说明你自己能做到哪一步, 碰到了什么具体问题。 这样大家才能帮助你成长。
#include <cstdio>
int main() {
int a, b;
bool flag = false;
scanf("%d%d", &a, &b);
int n = 2019 - b;
for(int x = 1; x <= n; ++x) {//枚举x的所有可能性
if((2019 - a * x) % b == 0) {
printf("%d %d\n", x, (2019 - a * x) / b);
flag = true;
}
}
if(!flag) printf("Unsolvable");
return 0;
}
希望题主多尝试写代码
#include <stdio.h>
int main(void)
{
int a, b, x, y;
scanf("%d %d", &a, &b);
for(x = 1; x < 2019/a; x++){
y = (2019-a*x) / b;
if(a*x + b* y == 2019)
printf("%d %d\n", x, y);
}
return 0;
}