题意:(a, b, c)为a2+b2=c2的一个解,那么求gcd(a, b, c)=1的组数,并且a<b<c<=n,和不为解中所含数字的个数,比如在n等于10时,为1, 2, 7,9则输出4. 好了!把所用知识点说一下: 数论之勾股数组(毕达哥拉斯三元组) 本原勾股数组(a,b,c)(a为奇数,b偶 ...
分类:
编程语言 时间:
2018-10-08 19:33:59
阅读次数:
160
本题来自 Project Euler 第9题:https://projecteuler.net/problem=9 这题若是想清楚了,其实是相当简单,无非是找出各种 a+b+c=1000 的组合,然后验证 a**2 + b**2 = c**2 就行了。遍历范围方面,因为 a<b<c,最小的 a 最大 ...
分类:
编程语言 时间:
2016-10-29 14:16:26
阅读次数:
207
主题链接:pid=1669">http://acm.fzu.edu.cn/problem.php?pid=1669题目大意:求满足以a、b为直角边,c为斜边,而且满足a + b + c n,且若m为奇数,则n为偶数。若m为偶数。则n为奇数。枚举m、n,然后将三元组乘以i倍。保证 i * (x + ....
分类:
其他好文 时间:
2015-10-27 12:55:05
阅读次数:
161
题目地址:POJ 1305
题意:给一个整数N,求N范围内的本原的毕达哥拉斯三元组的个数,以及N以内毕达哥拉斯三元组不涉及数的个数。
思路:
首先我们先来了解一下一些基本的定义
毕达哥拉斯三元组:
设不定方程:x^2+y^2=z^2若正整数三元组(x,y,z)满足上述方程,则称为毕达哥拉斯三元组。
本原毕格拉斯三元组:
在毕格拉斯三元组的基础上,若gcd(x,y,z)=1,则称为本原的...
分类:
其他好文 时间:
2015-08-25 21:34:50
阅读次数:
113
题目大意:
求满足以a、b为直角边,c为斜边,并且满足a + b + c n,且若m为奇数,则n为偶数,若m为偶数,则n为奇数。
枚举m、n,然后将三元组乘以i倍,保证 i * (x + y + z)在所给范围内(2 * m^2 + 2 * m*n <= L),
就可以求出所有满足条件的三元组。...
分类:
其他好文 时间:
2015-03-20 00:05:21
阅读次数:
213
题目大意:
给一个整数N,求N范围内的本原的毕达哥拉斯三元组的个数,以及N以内毕达哥拉斯三元组不涉及
数的个数。
思路:
本原毕达哥拉斯三元组x^2 + y^2 = z^2 满足 x = m^2 - n^2,y = 2*m*n,z = m^2 + n^2,其
中m > n,且若m为奇数,则n为偶数,若m为偶数,则n为奇数。要求所给范围N内的本原毕达哥拉
斯三元数组,只需枚举m、n,然后将三元组x、y、z乘以i(保证i*z在所给范围内,因为z>x且z>y),
就可以求出所有的毕达哥拉斯三元组。
注意:因为在...
分类:
其他好文 时间:
2015-03-19 22:01:29
阅读次数:
105
了解一下毕达哥拉斯三元组概念= =暴力求出所有的本源三元组即可代码:#include #include #include#include#include#include#includeusing namespace std;#define MAXN 10000int n;bool vi[100001...
分类:
其他好文 时间:
2014-09-24 19:09:17
阅读次数:
191
def ext11(n):
"""
一个毕达哥拉斯三元组是一个包含三个自然数的**,a
例如:32 + 42 = 9 + 16 = 25 = 52.
已知存在并且只存在一个毕达哥拉斯三元组满足条件a + b + c = 1000。找出该三元组中abc的乘积。
直接循环的效率太低 所以做了一些简化与范围的缩小
...
分类:
编程语言 时间:
2014-05-26 03:23:51
阅读次数:
351