faster R implementation of project euler problem 87

This commit is contained in:
ikselven 2017-04-28 00:46:20 +02:00
parent 852c77d428
commit d3f9c3b411

24
2017-04-11/pikatech_euler87.R Executable file
View file

@ -0,0 +1,24 @@
library(numbers)
####
# limit: Obere Grenze für die Summe der Primzahltripel
#
# Gibt die Anzahl der einmaligen Primzahltripel
# bis zu einer oberen Grenze zurück.
####
euler87 <- function(limit) {
primes <- Primes(1, ceiling(limit^(1/2)))
x2 <- primes^2
x3 <- primes^3
x4 <- primes^4
x2 <- x2[x2 < limit]
x3 <- x3[x3 < limit]
x4 <- x4[x4 < limit]
x <- expand.grid(x2, x3, x4)
xSums <- rowSums(x)
length(unique(xSums[xSums < limit]))
}
system.time(print(euler87(5e7)))