euler 18
by Hensixteen
JavaScript
var row = [];
row[1] = [75];
row[2] = [95,64];
row[3] = [17,47,82];
row[4] = [18,35,87,10];
row[5] = [20,04,82,47,65];
row[6] = [19,01,23,75,03,34];
row[7] = [88,02,77,73,07,63,67];
row[8] = [99,65,04,28,06,16,70,92];
row[9] = [41,41,26,56,83,40,80,70,33];
row[10] = [41,48,72,33,47,32,37,16,93,29];
row[11] = [53,71,44,65,25,43,91,52,97,51,14];
row[12] = [70,11,33,28,77,73,17,78,39,68,17,57];
row[13] = [91,71,52,38,17,14,91,43,58,50,27,29,48];
row[14] = [63,66,04,68,89,53,67,30,73,16,69,87,40,31];
row[15] = [04,62,98,27,23,09,70,98,73,93,38,53,60,04,23];
var path;
var dif;
var pos;
var sum;
var maxSum=0;
var counter;
var counter2;
var stop = false;
for (counter = 0; counter<=16383; counter++) {
sum = 75;
pos = 0;
path = counter.toString(2);
while(path.length<14) {
path = ("0"+path);
}
for(counter2=2; counter2<=15; counter2++) {
sum+=row[counter2][pos+Number(path.charAt(counter2-2))];
if(path.charAt(counter2-2) == 1) {
pos++;
}
}
if(sum>maxSum) {
maxSum = sum;
}
console.log(path + " - " + maxSum);
}