摘要: 勾股数又名毕氏三元数凡是可以构成一个直角三角形三边的一组正整数,称之为勾股数。编辑本段常用套路简介所谓勾股数,一般是指能够构成直角三角形三条边的三个正整数(a,b,c)。即a2+b2=c2,a,b,c∈N又由于,任何一个勾股数组(a,b,c)内的三个数同时乘以一个整数n得到的新数组(na,nb,nc)仍然是勾股数,所以一般我们想找的是a,b,c互质的勾股数组。关于这样的数组,比较常用也比较实用的套路有以下两种:第一套路当a为大于1的奇数2n+1时,b=2n^2+2n, c=2n^2+2n+1。实际上就是把a的平方数拆成两个连续自然数,例如:n=1时(a,b,c)=(3,4,5)n=2时(a,b 阅读全文
posted @ 2013-05-14 09:57 E_star 阅读(1188) 评论(0) 推荐(0) 编辑
摘要: A:给出a,b,c a<= b<=c <=n 求满足a^2 + b^2 = c^2 的个数。 直接暴力枚举过的。。来个优化的假设直角三角形三边为a,b,c; 则a = 2*m*n, b = m*m - n*n, c =m*m + n*n;这样我们只要枚举m,然后再枚举n, 就好了int gcd(int a,int b){ if(a%b == 0) return b; a = a%b; return gcd(b,a);}int main(){ int n; cin>>n; int top = sqrt(1.0*n); int ans = ... 阅读全文
posted @ 2013-05-14 08:26 E_star 阅读(426) 评论(0) 推荐(0) 编辑