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