Problem E: 深入浅出学算法006-求不定方程的所有解
Description
现有一方程ax+by=c,其中系数a、b、c均为整数,求符合条件的所有正整数解,要求按x由小到大排列,其中a b c 均为不大于1000的正整数
Input
多组测试数据,第一行先输入整数T表示组数 然后每组输入3个整数分别表示a b c
Output
对于每组数据按要求输出所有正整数解 有多个解的情况下,每对解一行,要求按照x从小到大输出 无解时输出No
Sample Input
1 1 2 3
Sample Output
1 1
采用最基本的枚举法
#include<stdio.h> int main() { int n,m,t; int a,b,c; int i,j; while(scanf("%d",&t)!=EOF) { while(t--) { int count=0; scanf("%d%d%d",&a,&b,&c); for(i=1;i<=c;i++) { for(j=1;j<=c;j++) { if(a*i+b*j==c) { printf("%d %d\n",i,j); count++; } } } if(count==0) { printf("No\n"); } } } return 0; }