求解不定方程 x 2 + y 2 = p x^2+y^2=p x2+y2=p的整数解
下方展示的代码实现了任意素数不定方程 x 2 + y 2 = p x^2+y^2=p x2+y2=p的求解过程,顾名思义其中 p p p是素数,值得一提的是不定方程 x 2 + y 2 = p x^2+y^2=p x2+y2=p有整数解当且仅当 p = 2 p=2 p=2或 p = 4 k + 1 p=4k+1 p=4k+1。
// 求解不定方程x^2+y^2=p.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include"conio.h"
#include"stdlib.h"
#include"string.h"
#include"stdlib.h"
#include"math.h"
static long long* Factor(long long x)//分解p-1.
{
int count = 0;
long long tmp = x - 1;
while (1)
{
if (tmp % 2 == 0)
{
tmp = tmp / 2;