Skip to content

Instantly share code, notes, and snippets.

View clementi's full-sized avatar
🎵
NP: Piano Sonata No. 1 in F-Sharp Minor, Op… (3:48/5:21)

Jeff Pratt clementi

🎵
NP: Piano Sonata No. 1 in F-Sharp Minor, Op… (3:48/5:21)
View GitHub Profile
var prefixes = [ "", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei" ];
const GROUP = 1024;
function binaryUnitFormat(x, unit) {
var index = 0;
var xnew = x;
while (xnew >= GROUP && index < prefixes.length - 1) {
xnew /= GROUP;
var Iterable = {
func: {
predicate: {
TRUE: function (x) { return true; }
}
}
};
Array.prototype.forEach = function (fn) {
for (var i = 0; i < this.length; i++)
var Iterable = {
func: {
predicate: {
TRUE: function (x) { return true; }
}
}
};
Array.prototype.forEach = function (fn) {
for (var i = 0; i < this.length; i++)
@clementi
clementi / problem9.hs
Created January 29, 2011 04:09
Project Euler Problem 9 Solution
head [ (a, b, c) | c <- [1..], b <- [1..c], a <- [1..b], a^2 + b^2 == c^2, a + b + c == 1000 ]
@clementi
clementi / euler-24.py
Created February 9, 2011 20:03
Project Euler Problem #24 Solution
from itertools import permutations
MILLIONTH = 10 ** 6 - 1
print reduce(lambda x, y: str(x) + str(y), list(permutations(range(10), 10))[MILLIONTH])
@clementi
clementi / euler-29.py
Created February 9, 2011 23:09
Project Euler Problem #29 Solution
products = set()
for pair in [(a, b) for a in range(2, 101) for b in range(2, 101)]:
products.add(pair[0] ** pair[1])
print len(products)
@clementi
clementi / euler-56.py
Created February 10, 2011 03:31
Project Euler Problem #56 Solution
from itertools import *
pairs = product(range(1, 100), range(1, 100))
exponentials = imap(lambda pair: pair[0] ** pair[1], pairs)
strings = imap(lambda exponential: str(exponential), exponentials)
sums = imap(lambda string: sum(map(lambda digit: int(digit), string)), strings)
print max(sums)
@clementi
clementi / euler-28.py
Created February 10, 2011 03:35
Project Euler Problem #28 Solution
current = 0
step = 2
sum = 0
limit = 1001 ** 2
spiral = range(1, limit + 1)
while current < limit:
for i in range(4):
if current > limit:
@clementi
clementi / euler-40.py
Created February 12, 2011 02:49
Project Euler Problem #40 Solution
digits = ""
for n in range(1, 1000001):
digits += str(n)
product = 1
for i in range(7):
product *= int(digits[10 ** i - 1])
print product
@clementi
clementi / euler-53.py
Created February 12, 2011 02:25
Project Euler Problem #53 Solution
import operator
def factorial(n):
return 1 if n == 0 else reduce(operator.mul, range(1, n + 1))
def combo(n, r):
return factorial(n) / (factorial(r) * factorial(n - r))
count = 0