faster R implementation of project euler problem 87
This commit is contained in:
parent
852c77d428
commit
d3f9c3b411
1 changed files with 24 additions and 0 deletions
24
2017-04-11/pikatech_euler87.R
Executable file
24
2017-04-11/pikatech_euler87.R
Executable 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)))
|
Reference in a new issue