Skip to content

Instantly share code, notes, and snippets.

View rizalp's full-sized avatar

Mohammad Shahrizal Prabowo rizalp

View GitHub Profile
@rizalp
rizalp / LargestProductGrid.js
Created September 5, 2013 15:58
My solution to [Problem 11 project euler](http://projecteuler.net/problem=11). I took way too long to solve it using functional approach, also traversing diagonal grids and pick the tokens drove me nuts.
var _und = require("./underscore-min.js"); //load underscore.js library in the current directory
var group = 4;
//parse it, because I'm too lazy to create the array by hand
var strGrid = "08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70 67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21 24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72 21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 5
@rizalp
rizalp / JavaScript Sieve Of Atkin.js
Created May 3, 2013 11:49
return array of primes below limit using Sieve of Atkin Algorithm http://en.wikipedia.org/wiki/Sieve_of_Atkin #JavaScript #primes
function sieveOfAtkin(limit){
var limitSqrt = Math.sqrt(limit);
var sieve = [];
var n;
//prime start from 2, and 3
sieve[2] = true;
sieve[3] = true;
for (var x = 1; x <= limitSqrt; x++) {
@rizalp
rizalp / JavaScript: Anonymous Functions And The Module Pattern.js
Created May 2, 2013 08:18
JavaScript: Anonymous Functions And The Module Pattern
//For example, the following definition would result in three global variables and two global functions:
var name = 'Chris';
var age = '34';
var status = 'single';
function createMember(){
// [...]
}
function getMemberDetails(){
// [...]
@rizalp
rizalp / Javascript: Scope.js
Last active December 16, 2015 17:08
Javascript: Scope
/*In JavaScript, functions are the only things that create a new scope*/
var globalVar = "This is a global variable.";
var globalFunction = function() {
var localVar = "This is a local variable.";
var localFunction = function() {
var localVar = "hello, world!";
alert(localVar);
};
@rizalp
rizalp / JavaScript: Array & basic Functional Paradigm.js
Last active December 16, 2015 16:59
JavaScript: Array & basic Functional Paradigm
var foo = [11, "hello", true],
length = foo.length();
off = foo.slice(); //off is now copy of foo
fff = foo.slice(1); //fff is now ["hello", true]
var eleven = foo[0];
foo[foo.length] = "whatever, new value and index can be created dynamically";
foo.push("a new value pushed to the array");
@rizalp
rizalp / JavaScript: String.js
Last active July 2, 2022 05:29
JavaScript: String #JavaScript #string
var a = 9 + "7"; // = "97, string"
var b = "7" + 9; // = "79 string"
var fooInt = parseInt("34s12", 10); //34
fooInt = parseInt("hello", 10); //NaN
var fooFloat = parseFloat("3.14", 10); // 3.14
var words = "Cities of the Interior";
alert(words.split(" ")); //can only do split on string
// [Cities,of,the,Interior]
@rizalp
rizalp / JavaScript: Boolean, If, Switch, Loop.js
Last active February 23, 2022 20:49
JavaScript: Control Structure: Boolean, If, Switch, Loop #JavaScript #loop #control #boolean
var foo = 5 == 6; // false
foo = "6" == 6; // true. Because the number 6 are first converted into a string
foo = "6" === 6; // false. It will also check equality of data type. Always use this operator
/*
&& (AND)
|| (OR)
! (NOT)
*/
@rizalp
rizalp / JavaScript: Var & Function.js
Last active December 16, 2015 16:59
JavaScript: Basic Variable & Function usage #JavaScript #Functions
var variableName; //undefined
var helloWorld = "Hello, World!";
var ten = 10;
var pi = 3.14;
var isBoolean = false;
var sum = 4 + 5,
difference = 4 - 5,
product = 4 * 5,
quotion = 4 / 5;
@rizalp
rizalp / PHP: Session & Cookie
Created April 25, 2013 13:41
PHP: Session & Cookie