7-21 求特殊方程的正整數解 (15 分)


本題要求對任意給定的正整數N,求方程X2​​+Y2​​=N的全部正整數解。

輸入格式:

輸入在一行中給出正整數N(≤10000)。

輸出格式:

輸出方程X2​​+Y2​​=N的全部正整數解,其中XY。每組解占1行,兩數字間以1空格分隔,按X的遞增順序輸出。如果沒有解,則輸出No Solution

輸入樣例1:

884

輸出樣例1:

10 28
20 22

輸入樣例2:

11

輸出樣例2:

No Solution


代碼如下
#include<stdio.h>
int main()
{
    int N;
    int i,j,m=0;
    scanf("%d",&N);
    for(j=1;j<=100;j++)
    {
        for(i=1;i<=100;i++)
        if((i*i+j*j==N)&&(j<i))
            {
            printf("%d %d\n",j,i);
            ++m;
            }
    }
    if(m==0)
        printf("No Solution");
        
    
}

 

小結:

       我在如何輸出No Solution這里卡住了小半天,最后想到一個結果也沒有不就是0么,於是乎想到了計數。這也多虧了看到過類似的題。

總體來說經驗欠缺,編題較少,我會繼續努力。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM