Prime triangle: Difference between revisions
Swift - performance improvement
m (→{{header|J}}: trying to give credit has become a blurry issue) |
(Swift - performance improvement) |
||
Line 1,033:
}
func primeTriangleRow(_ a: inout
return isPrime(a[start] + a[start + 1])
}
for i in
if
if primeTriangleRow(&a, start: start + 1, length: length - 1) {
return true
}
a.swapAt(
}
}
Line 1,051 ⟶ 1,050:
}
func primeTriangleCount(_ a: inout
var count = 0
if
if isPrime(a[start] + a[start + 1]) {
count += 1
}
} else {
for i in
if
a.swapAt(index, start + 1)
}
}
Line 1,081 ⟶ 1,079:
print()
}
let startTime = CFAbsoluteTimeGetCurrent()
for n in 2...20 {
var a = Array(1...n)
if primeTriangleRow(&a
printRow(a)
}
Line 1,095:
print(" ", terminator: "")
}
print("\(primeTriangleCount(&a
}
print()
let endTime = CFAbsoluteTimeGetCurrent()
print("\nElapsed time: \(endTime - startTime) seconds")</lang>
{{out}}
Line 1,122 ⟶ 1,125:
1 1 1 1 1 2 4 7 24 80 216 648 1304 3392 13808 59448 155464 480728 1588162
Elapsed time: 1.0268970727920532 seconds
</pre>
|