Skip to content

Instantly share code, notes, and snippets.

@svdamani
Created January 28, 2019 09:00
Show Gist options
  • Save svdamani/aa27e08c836891d9a6a6f80afb7f9af6 to your computer and use it in GitHub Desktop.
Save svdamani/aa27e08c836891d9a6a6f80afb7f9af6 to your computer and use it in GitHub Desktop.
Ramanujan's Magic Square
function magicSquare(date) {
date = date instanceof Date ? date : new Date(date);
var d = date.getDate(),
m = date.getMonth() + 1,
c = ~~(date.getFullYear() / 100),
y = date.getFullYear() % 100;
return [
[d, m, c, y],
[y + 1, c - 1, m - 3, d + 3],
[m - 2, d + 2, y + 2, c - 2],
[c + 1, y - 1, d + 1, m - 1]
];
}
/**
* Example:
* magicSquare(new Date(1994, 4, 1));
*
* Output:
* [
* [1, 5, 19, 94],
* [95, 18, 2, 4],
* [3, 3, 96, 17],
* [20, 93, 2, 4]
* ];
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment