A Pen by Kohei Arai on CodePen.
Created
August 13, 2015 01:25
-
-
Save 1kohei1/50a88f0f834903305c83 to your computer and use it in GitHub Desktop.
a^3+b^3=c^3+d^3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function algorithmPractice() { | |
var n = 100; | |
var sums = {}; | |
var results = []; | |
for (var c = 1; c < n; c++) { | |
for (var d = 1; d < n; d++) { | |
var result = Math.pow(c, 3) + Math.pow(d, 3); | |
if (!sums.hasOwnProperty(result)) { | |
sums[result] = []; | |
} | |
var smaller = c < d ? c : d; | |
var bigger = c < d ? d : c; | |
// Prevent adding the same pair. e.g., (2, 3) and (3, 2) | |
var shouldAdd = true; | |
for (var i = 0; i < sums[result].length; i++) { | |
if (sums[result][i][0] === smaller && sums[result][i][1] === bigger) { | |
shouldAdd = false; | |
break; | |
} | |
} | |
if (shouldAdd) { | |
sums[result].push([smaller, bigger]); | |
} | |
if (sums[result].length >= 2 && results.indexOf(result) === -1) { | |
results.push(result); | |
} | |
} | |
} | |
// Print out results. | |
for (var i = 0; i < results.length; i++) { | |
for (var j = 0; j < sums[results[i]].length - 1; j++) { | |
for (var k = j + 1; k < sums[results[i]].length; k++) { | |
var one = sums[results[i]][j]; | |
var two = sums[results[i]][k]; | |
console.log(one[0] + ', ' + one[1] + ', ' + two[0] + ', ' + two[1]); | |
} | |
} | |
} | |
} | |
algorithmPractice(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment