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

简介: 本题要求对任意给定的正整数N,求方程X2+Y2=N的全部正整数解。

本题要求对任意给定的正整数N,求方程X2+Y2=N的全部正整数解。

输入格式:

输入在一行中给出正整数N(≤10000)。

输出格式:

输出方程X2+Y2=N的全部正整数解,其中X≤Y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输出No Solution

输入样例1:

884

输出样例1:

1. 
10 28
2. 20 22

输入样例2:

11

输出样例2:

No Solution


代码如下:

#include<stdio.h>
#include<math.h>
int main()
{
  int N,X,Y,flag=0;
  scanf("%d",&N);
  for(X=1;X<=sqrt(N);X++){
    for(Y=X;Y<=sqrt(N);Y++){
      if(X*X+Y*Y==N){
        printf("%d %d\n",X,Y);
        flag=1;
      }
    }
  }
  if(flag==0){
    printf("No Solution");
  }
}
相关文章
|
6月前
1056 组合数的和 (15 分)
1056 组合数的和 (15 分)
|
7月前
|
存储 算法
leetcode1237. 找出给定方程的正整数解
leetcode1237. 找出给定方程的正整数解
34 0
【每周一坑】​正整数分解质因数 +【解答】计算100以内质数之和
关于分解质因数:每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数。分解质因数只针对合数。
L1-048 矩阵A乘以B (15 分)
L1-048 矩阵A乘以B (15 分)
113 0
L1-048 矩阵A乘以B (15 分)
L1-025 正整数A+B (15 分)
L1-025 正整数A+B (15 分)
155 0
7-21 求特殊方程的正整数解 (15 分)
7-21 求特殊方程的正整数解 (15 分)
146 0
h0039. 平方数 (15 分)
h0039. 平方数 (15 分)
135 0
L1-036 A乘以B (5 分)
L1-036 A乘以B (5 分)
98 0
R7-1 正整数A+B (15 分)
R7-1 正整数A+B (15 分)
132 0