- is
- this
- markdown
View snakesladders.py
import numpy as np | |
# Compute expected number of turns to complete a snakes & ladders | |
# track of length n, given a set of portals (snakes and ladders), | |
# which are both represented as lists of pairs (start, end). | |
# It's ok to pass lists of [start, end] instead of pairs (start, end). | |
def E(n, portals): | |
portal_map = {k: k for k in range(n)} # identity map | |
portal_map.update(portals) |
View ibmfeb2020.md
View pop.c
#include <stdio.h> | |
#include <stdlib.h> | |
#include <stdint.h> | |
#include <string.h> | |
#include <time.h> | |
typedef uint8_t byte; | |
typedef uint32_t quart; | |
typedef uint64_t pottle; |
View rollout.py
from fractions import Fraction | |
from functools import lru_cache | |
from itertools import * | |
def powerset(S): | |
return chain.from_iterable(combinations(S, r) for r in range(len(S)+1)) | |
@lru_cache(maxsize=512) | |
def p(S): # S is a frozenset so it can be cached | |
if len(S) == 0: |
View SETUP.ASM
PAGE 58,132 | |
;---------------------------------------------------------------------------- | |
; Hier sind der neu SETUP komputerprogramm. | |
;---------------------------------------------------------------------------- | |
.386P | |
FALSE EQU 0 |
View ctkwires.py
import random | |
N = 2018 | |
trials = 10000 | |
def connect(wires): | |
loops = 0 | |
while wires > 1: | |
v, w = random.randrange(wires), random.randrange(wires) | |
if v == w: |
View electoralties.py
# Determine how many ways the US election could end in electoral tie. | |
# Respsonse to https://twitter.com/daveinstpaul/status/792788962230226944 | |
from functools import lru_cache | |
votes = [9,8,3,3,8,18,11,4,7,6,10,7,55,11,20,9,16,4,7,10,9,3,6,3,3,10, | |
11,29,3,38,16,5,6,4,6,3,4,4,13,20,14,12,11,5,5,6,29,10,6,15,3] | |
@lru_cache(maxsize=10000) | |
def count_ties(subtotal, votes): |
View flaw.py
import matplotlib.pyplot as plt | |
from pylab import savefig | |
import numpy as np | |
from numpy.random import rand, randint | |
def flipsome(n): | |
flip = lambda: randint(0,2) | |
return sum(flip() for _ in range(n)) / float(n) | |
interval = 1000 |
View kenled
digits = [ | |
# B C D A B C A B C | |
# E F F F F | |
# G H H H H | |
# I L L J K J K | |
# M N N M N | |
# O P P O P | |
# R S T Q R S T Q R S |
View nytimes
from math import sqrt | |
from itertools import permutations | |
def squarable(sides): | |
area = sum(map(lambda (a,b): a*b, sides)) | |
S = sqrt(area) | |
if S == int(S): | |
# check Ken's conditions |
NewerOlder