-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathp11.R
More file actions
51 lines (44 loc) · 1007 Bytes
/
Copy pathp11.R
File metadata and controls
51 lines (44 loc) · 1007 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# [1] 70600674
# user system elapsed
# 0.120 0.000 0.115
pmt <- proc.time()
x <- read.table("~/R/ProjectEuler/p11.txt")
#print(class(x))
#vertical, horizontal, diagonal right, diagonal left
largest <- 0
#horizontal and vertical
for(i in 1:20){
for(j in 1:17){
#horizontal
a <- x[i,j]*x[i,j+1]*x[i,j+2]*x[i,j+3]
#print(a)
if(a>largest){
largest <- a
}
#vertical
b <- x[j,i]*x[j+1,i]*x[j+2,i]*x[j+3,i]
#print(b)
if(b>largest){
largest <- b
}
}
}
#diagonals right and left
for(i in 1:17){
for(j in 1:17){
#diagonal right
c <- x[i,j]*x[i+1,j+1]*x[i+2,j+2]*x[i+3,j+3]
#print(c)
if(c>largest){
largest <- c
}
#diagonal left
d <- x[i,21-j]*x[(i+1),21-(j+1)]*x[(i+2),21-(j+2)]*x[(i+3),21-(j+3)]
#print(d)
if(d>largest){
largest <- d
}
}
}
print(largest)
print(proc.time()-pmt)