1. 程式人生 > 其它 >7-6 求特殊方程的正整數解 (10分)

7-6 求特殊方程的正整數解 (10分)

技術標籤:# 2021PTAc#

7-6 求特殊方程的正整數解 (10分)
本題要求對任意給定的正整數N,求方程
在這裡插入圖片描述

的全部正整數解。
輸入格式:
輸入在一行中給出正整數N(≤10000)。

輸出格式:
輸出方程
在這裡插入圖片描述
​​ 的全部正整數解,其中X≤Y。每組解佔1行,兩數字間以1空格分隔,按X的遞增順序輸出。如果沒有解,則輸出No Solution。

輸入樣例1:

884

輸出樣例1:

10 28
20 22

輸入樣例2:

11

輸出樣例2:

No Solution

#include <stdio.h>
#include<string.h>
#include<math.h>
int main() { int n , flag=0; double x=1 , y , m; scanf("%d" , &n); m=sqrt(n); while(x<m){//縮小範圍 y=n-x*x; y=sqrt(y); int y1; y1=(int)y; if(y<x)break;//y小於x時迴圈結束 if(y-y1==0){ printf("%.0lf %.0lf\n" , x , y); flag=1;//表示有解 } x++
; } if(flag==0){ printf("No Solution\n"); } return 0; }