Created
March 12, 2013 15:22
-
-
Save mustafa0x/5143803 to your computer and use it in GitHub Desktop.
CodeEval solutions. Updated as additional problems are solved.
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
/** | |
* FizzBuzz | |
*/ | |
function codeEvalExecute(line) { | |
var spec = line.split(" ").map(function(x, i) { | |
return +x; // Cast to int | |
}), i = 1, out = "", cur = ""; | |
for (; i <= spec[2]; i++) { | |
if (i !== 1) | |
cur = " "; | |
if (i % spec[0] === 0) | |
cur += "F"; | |
if (i % spec[1] === 0) | |
cur += "B"; | |
if (cur === " " || cur === "") | |
cur += i; // string + int cases the int to be casted to a string | |
out += cur; | |
} | |
return out; | |
} | |
function palindrome_check(number) { | |
if (number < 10) | |
return true; // One-digit numbers are unimpressive palindromes | |
var number = number.toString().split(""), i = 0, l = number.length, | |
palindrome = true; | |
for ( ; l > 1; ) { | |
if (number[0] !== number[l - 1]) { | |
palindrome = false; | |
break; | |
} | |
number = number.slice(1, -1); | |
l -= 2; | |
} | |
return palindrome; | |
} | |
/** | |
* Prime Palindrome | |
*/ | |
function codeEvalExecute(line) { | |
function getPrimes(max) { | |
var sieve = [], i, j, primes = []; | |
for (i = 2; i <= max; ++i) { | |
if (!sieve[i]) { | |
// i has not been marked -- it is prime | |
primes.push(i); | |
for (j = i << 1; j <= max; j += i) { | |
sieve[j] = true; | |
} | |
} | |
} | |
return primes; | |
} | |
function palindrome_check(number) { | |
if (number < 10) | |
return true; // One-digit numbers are unimpressive palindromes | |
var number_ar = number.toString().split(""), i = 0, l = number_ar.length, | |
palindrome = true; | |
for ( ; l > 1; ) { | |
if (number_ar[0] !== number_ar[l - 1]) { | |
palindrome = false; | |
break; | |
} | |
number_ar = number_ar.slice(1, -1); | |
l -= 2; | |
} | |
return palindrome; | |
} | |
var primes = getPrimes(1000), l = primes.length, i = l - 1; | |
for ( ; i > 0; i--) { | |
if (palindrome_check(primes[i])) | |
return primes[i]; | |
} | |
} | |
/** | |
* Sum first 1000 primes | |
* 3682913 | |
*/ | |
function codeEvalExecute(line) { | |
function primality_test(n) { | |
if (isNaN(n) || !isFinite(n) || n % 1 || n < 2) | |
return false; | |
if (n % 2 === 0) | |
return (n == 2); | |
if (n % 3 === 0) | |
return (n == 3); | |
var m=Math.sqrt(n); | |
for (var i = 5; i <= m; i += 6) { | |
if (n % i === 0) | |
return false; | |
if ( n % (i+2) === 0) | |
return false; | |
} | |
return true; | |
} | |
for (var i = 0, j = 0, sum = 0; i < 1000; j++) { | |
if (primality_test(j)) { | |
sum += j; | |
i++; | |
} | |
} | |
return sum; | |
} | |
/** | |
* Lowercase | |
*/ | |
function codeEvalExecute(line) { | |
return line.toLowerCase(); | |
} | |
/** | |
* Word Reverse | |
*/ | |
function codeEvalExecute(line) { | |
return line.split(" ").reverse().join(" "); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment