Haskell Euler 75怎么了,我有所有的原始三角形和倍数,但仍然有一些失败
Basetri看起来就像维基百科对欧几里得的定义 算法(但我只保存周长),并且似乎生成所有 三角形Haskell Euler 75怎么了,我有所有的原始三角形和倍数,但仍然有一些失败,haskell,pythagorean,Haskell,Pythagorean,Basetri看起来就像维基百科对欧几里得的定义 算法(但我只保存周长),并且似乎生成所有 三角形 Timesify提供这些三角形的所有倍数(120三角形 显示3次) 然后,我连接、排序和分组,以给出每个 将同一组中的周长,然后过滤超过1的周长 只有一种方法可以到达周界 这应该给我所有的三角形,可以用一种方法,但是长度euler75=157730似乎不是有效的答案 euler75 = filter justOneElement $ group $ sort $ concat $ timesif
长度euler75=157730
似乎不是有效的答案
euler75 = filter justOneElement $ group $ sort $ concat $ timesify (takeWhile (<=1500000) basetri)
justOneElement (x:[]) = True
justOneElement _ = False
basetri = [((x m n + y m n + z m n)) | m<-[1..700],n<-[1..(m-1)], odd (m-n),gcd m n == 1]
where
x m n = (m^2 - n^2)
y m n = 2*m*n
z m n = (m^2+n^2)
timesify [] = []
timesify (x:xs) = (takeWhile (<=1500000) $ (map (*x) [1..])) : timesify xs
euler75=filter justOneElement$group$sort$concat$timesify(takeWhile(更改为
triangs :: Integer -> [Integer]
triangs l = [p | n <- [2..1000],
m <- [1..n-1],
gcd m n == 1,
odd (m+n),
let p = 2 * (n^2 + m*n),
p <= l]
triangs::Integer->[Integer]
三角形l=[p | n你是在用“长度euler75=157730”作为答案吗?因为我认为你应该用“157730”作为答案。意外地处理了同一个问题:)+1@DamienBlack:仅限“157730”