RosettaCodeData/Task/Pythagorean-quadruples/Swift/pythagorean-quadruples.swift
2023-07-01 13:44:08 -04:00

32 lines
506 B
Swift

func missingD(upTo n: Int) -> [Int] {
var a2 = 0, s = 3, s1 = 0, s2 = 0
var res = [Int](repeating: 0, count: n + 1)
var ab = [Int](repeating: 0, count: n * n * 2 + 1)
for a in 1...n {
a2 = a * a
for b in a...n {
ab[a2 + b * b] = 1
}
}
for c in 1..<n {
s1 = s
s += 2
s2 = s
for d in c+1...n {
if ab[s1] != 0 {
res[d] = 1
}
s1 += s2
s2 += 2
}
}
return (1...n).filter({ res[$0] == 0 })
}
print(missingD(upTo: 2200))