[PTA]7-21 求特殊方程的正整数解

Posted Spring-_-Bear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]7-21 求特殊方程的正整数解相关的知识,希望对你有一定的参考价值。

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

输入格式:

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

输出格式:

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

输入样例1:

884

输出样例1:

10 28
20 22

输入样例2:

11

输出样例2:

No Solution
  • 提交结果:

在这里插入图片描述

  • 源码:
#include<stdio.h>
#include<math.h>
int main(void)
{
	int N;
	int flag = 0;

	scanf("%d", &N);

	for (int X = 1; X < 100; X++)
	{
		int Y = (int)sqrt(N - X * X);

		if (X > Y)
		{
			break;
		}

		if (X * X + Y * Y == N)
		{
			flag = 1;
			printf("%d %d\\n", X, Y);
		}
	}

	if (!flag)
	{
		printf("No Solution\\n");
	}

	return 0;
}

以上是关于[PTA]7-21 求特殊方程的正整数解的主要内容,如果未能解决你的问题,请参考以下文章

求解一元一次方程的正整数解(Python版本)

[leetcode 周赛 160] 1237 找出给定方程的正整数解

A - Character Encoding HDU - 6397 - 方程整数解-容斥原理

[PTA]习题6-2 使用函数求特殊a串数列和

[PTA]实验4-1-7 特殊a串数列求和

[PTA]实验6-3 使用函数求特殊a串数列和