深入浅出学算法006-求不定方程的所有解

Posted ars134419622

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入浅出学算法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 argc, char *argv[])
{
int t,i,x,y,flag=0;
int a[10],b[10],c[10];
while(scanf("%d",&t)!=EOF){
for(i=0;i<t;i++){
scanf("%d",&a[i]);
scanf("%d",&b[i]);
scanf("%d",&c[i]);
}
for(i=0;i<t;i++){
for(x=1;x<c[i];x++){
for(y=1;y<c[i];y++){
if(a[i]*x+b[i]*y==c[i]){
printf("%d %d ",x,y);
flag=1;
}
}

}
if(flag==0)
printf("No ");
flag=0;
}
}
return 0;
}




























以上是关于深入浅出学算法006-求不定方程的所有解的主要内容,如果未能解决你的问题,请参考以下文章

数论学习之欧几里得的应用

带你领略算法艺术

带你领略算法艺术

带你领略算法艺术

带你领略算法艺术

机器学习之逐次下降法(机器学习算法原理与实践)郑捷