摘要:
设不定方程:x^2+y^2=z^2若正整数三元组(x,y,z)满足上述方程,则称为毕达哥拉斯三元组。若gcd(x,y,z)=1,则称为本原的毕达哥拉斯三元组。定理:正整数x,y,z构成一个本原的毕达哥拉斯三元组且y为偶数,当且仅当存在互素的正整数m,n(m>n),其中m,n的奇偶性不同,并且满足 x=m^2-n^2,y=2*m*n, z=m^2+n^2本题目让你求的是,在n范围内(x,y,z#include #include #include #include using namespace std;const int maxn=1000;int n;int vis[1000000+.. 阅读全文
posted @ 2014-02-20 19:55
辰曦~文若
阅读(849)
评论(0)
推荐(0)
摘要:
这题实际解不定方程:ax+by=c只不过题目要求我们解出的x和y 满足|x|+|y|最小,当|x|+|y|相同时,满足|ax|+|by|最小。首先用扩展欧几里德,很容易得出x和y的解。一开始不妨令a>b,若aa1)首先由不定方程ax+by=c,a>0,b>0,c>0可知,x和y只有下述三种情况:x>0,y0; x>0,y>0;那么对t分类讨论,得出:1.tmax(-c1/a1,c2/a2),z=(a1+a2)t+c1-c2,单调增这样,我们知道当z取最小值时,t=c2/a2=y0/(a/d)=y0*d/a 附近接着只要在t附近几个比较一下取最小值即可。 阅读全文
posted @ 2014-02-20 11:48
辰曦~文若
阅读(574)
评论(0)
推荐(0)

浙公网安备 33010602011771号