1. 程式人生 > >深入淺出學演算法006-求不定方程的所有解

深入淺出學演算法006-求不定方程的所有解

4005: 深入淺出學演算法006-求不定方程的所有解
Time Limit: 1 Sec Memory Limit: 64 MB
Submit: 5139 Solved: 2159
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
這道題解決的還算順利,一遍就AC了,基本的列舉就可以了

#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;
}