Skip to content

Instantly share code, notes, and snippets.

View neizod's full-sized avatar
📚
phd completed, seeking my new goal in life

Nattawut Phetmak neizod

📚
phd completed, seeking my new goal in life
View GitHub Profile
@neizod
neizod / ulti-chull.ipynb
Created August 7, 2018 23:22
Kirkpatrick–Seidel algorithm
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@neizod
neizod / out4.log
Last active November 20, 2023 20:39
generalization of 24game solver, which supports up to 5 initial numbers, and solve for any target number.
0 [41576]: ( ( 9 / ( 9 / 9 ) ) - 9 )
1 [34859]: ( ( 9 / ( 9 / 9 ) ) / 9 )
2 [33122]: ( ( 9 / 9 ) + ( 9 / 9 ) )
3 [31653]: ( ( 9 + ( 9 + 9 ) ) / 9 )
4 [31717]: ( 9 / ( ( 9 + 9 ) / 8 ) )
5 [27618]: ( ( 9 / 9 ) + ( 9 - 5 ) )
6 [31741]: ( ( 9 * ( 9 - 9 ) ) + 6 )
7 [26727]: ( 9 - ( ( 9 + 9 ) / 9 ) )
8 [29854]: ( ( ( 9 * 9 ) - 9 ) / 9 )
9 [27736]: ( ( 9 * ( 9 - 9 ) ) + 9 )
#!/usr/bin/env python3
size = (1000,1000)
polygon = [ (612,661), (668,661), (668,612), (752,757), (668,757), (668,950),
(312,334), (284,383), (326,407), (159,407), (201,334), ( 33,238),
(745,238), (717,189), (675,213), (759, 68), (801,141), (968, 44), ]
guards = polygon[4::6]
@neizod
neizod / animation.svg
Created July 27, 2022 01:24
zooming parabola with infinitely inscribed triangles
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
#!/usr/bin/env python3
from random import randrange, shuffle, choice
from collections import Counter
class Judge(object):
def __init__(self):
self.doors = ['goat', 'goat', 'CAR']
shuffle(self.doors) # move the prize into a random door
@neizod
neizod / draw.js
Created June 10, 2022 10:26
proof without words for 1²+2²+3²+...+n² = n(n+1)(2n+1)/6. illustrated with three.js
/*
* | y
* |
* .
* / \
* z / \ x
*
*/
const scene = new THREE.Scene();
@neizod
neizod / equal_sum.py
Created April 12, 2022 01:43
Google Code Jam 2022, 1A, Equal Sum
#!/usr/bin/env python3
import random
UPPER_BOUND = 10**9
BINARY_BOUND = len(f'{UPPER_BOUND:b}')
def is_binary(x):
return x == 2**len(f'{x:b}')
@neizod
neizod / chain_reactions.py
Created April 3, 2022 04:49
Google Code Jam 2022 -- Qualification Round
import sys
from operator import iconcat
from functools import reduce
sys.setrecursionlimit(100010)
class Node(object):
def __init__(self):
self.fun = 0
@neizod
neizod / enlightened-32x24.txt
Created March 29, 2013 03:57
ascii ingress logo
^.
Xx\.
X| x\.
X| ^x)
X| / ._
<X\. / x\.
^ X\ x\._
_..xxXXxx.__ ^x%%/^
./x/ ^\x..
~^^^ _. ._ ^^
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.