一篇文章讲明白LOJ6465.二平方和定理

简介: 一篇文章讲明白LOJ6465.二平方和定理

SOL:

由费马二平方和定理,解是存在且唯一的。

那么x在高斯整数意义下(在高斯整数意义下,唯一分解定理同样成立),有两个互扼的非平凡约数。a+bi 与 a-bi、

(a+bi)(a-bi)=aa+bb=x,可见a和b就是我们要求的答案。

我们找一个数k,使 x| kk+1 ,那么 x|(k+i)(k-i)

又因为gcd(a,b)=1,gcd(k,1)=1;

所以gcd(k+i,k-i)=1(这样的写法其实不严谨,我只是表示k+i与k-i互质)

gcd(a+bi,a-bi)=1

故gcd(x,k+i)=a+bi 或 a-bi

k的话,可以随机找。

高斯整数上的gcd,可以类比整数上的gcd。

#include

#define LO __int128

#define LL long long

#define pii pair

#define x first

#define y second

using namespace std;

LL qsm(LL x,LL y,LL mo){

static LL anw;

for (anw=1,x%=mo;y;y]=1,x=(LO)xx%mo) if (y1) anw=(LO)anwx%mo;

return anw;

}//代码效果参考:http://www.ezhiqi.com/zx/art_2166.html

pii operator + (pii a,pii b){

return pii(a.x+b.x,a.y+b.y);

}

pii operator - (pii a,pii b){

return pii(a.x-b.x,a.y-b.y);

}

pii operator (pii a,pii b){

return pii(a.xb.x-a.yb.y,a.xb.y+a.yb.x);

}

pii operator % (pii a,pii b){

LO fm=LO(b.x)b.x+LO(b.y)b.y;

LO aa=LO(a.x)b.x+LO(a.y)b.y;

LO bb=-LO(a.x)b.y+LO(a.y)b.x;

return a-pii(llround(aa/(long double)fm),llround(bb/(long double)fm))b;

}

pii gcd(pii a,pii b){

if (b.x==0b.y==0) return a;

return gcd(b,a%b);

}//代码效果参考:http://www.ezhiqi.com/bx/art_3235.html

int T; LL x,p,k; pii L;

int rand(){

static int X=23333; return X^=X[5,X^=X]17,X^=X[13;

}

signed main () {

scanf("%d",T);

while (T--) {

scanf("%lld",x);

while (1) {

p=rand()%(x-2)+2;

if (qsm(p,x-11,x)==x-1){

k=qsm(p,x-12,x);

break;

}

}

L=gcd(pii(x,0),pii(k,1));

L.x=abs(L.x),L.y=abs(L.y);

if (L.x>L.y) swap(L.x,L.y);

printf("%lld %lld\n",L.x,L.y);

} return 0;

}//代码效果参考:http://www.ezhiqi.com/bx/art_2637.html

相关文章
|
2月前
线性代数——(期末突击)概率统计习题(概率的性质、全概率公式)
线性代数——(期末突击)概率统计习题(概率的性质、全概率公式)
21 1
三大微分中值定理证明方法(罗尔定理、拉格朗日中值定理、柯西中值定理)
三大微分中值定理证明方法(罗尔定理、拉格朗日中值定理、柯西中值定理)
574 0
三大微分中值定理证明方法(罗尔定理、拉格朗日中值定理、柯西中值定理)
Stolz定理 【补充知识】Stolz(斯托尔茨)定理(详解➕例题)
Stolz定理 【补充知识】Stolz(斯托尔茨)定理(详解➕例题)
613 0
Stolz定理 【补充知识】Stolz(斯托尔茨)定理(详解➕例题)
L1-1 拉格朗日中值定理 (5 分)
拉格朗日中值定理又称拉氏定理,是微分学中的基本定理之一,它反映了可导函数在闭区间上的整体的平均变化率与区间内某点的局部变化率的关系。拉格朗日中值定理是罗尔中值定理的推广,同时也是柯西中值定理的特殊情形,是泰勒公式的弱形式。
167 0
粗略估计哥德巴赫猜想的成立(伯特兰-切比雪夫定理、质数密度定理)
粗略估计哥德巴赫猜想的成立(伯特兰-切比雪夫定理、质数密度定理)
176 0
Rolle中值定理的两个数学推论证明
Rolle中值定理的两个数学推论证明 中值定理的两个数学推论的证明过程,体现的数学思想比较有趣,我把它备忘记录下来。Rolle中值定理的数学推论1:简单的说吧,就是,假设I区间可微、连续,如果f’(x)=0,那么f(x)=C,C为常数。
899 0
|
机器学习/深度学习
[再寄小读者之数学篇](2014-10-18 利用 Lagrange 中值定理求极限)
试求 $$\bex \vlm{n}n^2\sex{x^\frac{1}{n}-x^\frac{1}{n+1}},\quad x>0. \eex$$   解答: $$\beex \bea \mbox{原极限} &=\vlm{n}n^2\cdot x^\xi\ln x\sex{\frac{1}{n}...
624 0
[再寄小读者之数学篇](2014-07-16 任意阶导数在零处为零的一个充分条件)
设 $f(x)$ 在 $\bbR$ 上任意阶可导, 且 $$\bex \forall\ n\in\bbZ^+,\ f\sex{\frac{1}{n}}=0. \eex$$ 试证: $f^{(n)}(0)=0$.
856 0
[再寄小读者之数学篇](2014-07-16 与对数有关的不等式)
试证: $$\bex (1+a)\ln (1+a)+(1+b)\ln (1+b)0. \eex$$   提示:  对函数 $f(x)=x\ln x$, 有 $$\bex f'(x)=\ln x+1,\quad f''(x)=\frac{1}{x}>0,\quad (x>0).
644 0
[再寄小读者之数学篇](2014-06-28 证明级数几乎处处收敛)
设 $f\in L(\bbR)$, 试证: $$\bex \vsm{n}f(n^2x) \eex$$ 在 $\bbR$ 上几乎处处收敛到一 Lebesgue 函数. 证明: 由 $f\in L(\bbR)$ 知 $|f|\in L(\bbR)$ (see [程其襄, 张奠宙, 魏国强, 胡善文, ...
728 0