|
|
@@ -0,0 +1,22 @@
|
|
|
+#!/usr/bin/env python
|
|
|
+def tri(n): return n * (n + 1) / 2
|
|
|
+def pent(n): return n * (3 * n - 1) / 2
|
|
|
+def hexa(n): return n * (2 * n - 1)
|
|
|
+funcs = (tri, pent, hexa)
|
|
|
+
|
|
|
+n = [20] * 3
|
|
|
+vals = [f(20) for f in funcs]
|
|
|
+
|
|
|
+while len(set(vals)) > 1 or vals[0] == 40755:
|
|
|
+ mini = 0
|
|
|
+ minv = None
|
|
|
+
|
|
|
+ for i, v in enumerate(vals):
|
|
|
+ if minv is None or v < minv:
|
|
|
+ mini = i
|
|
|
+ minv = v
|
|
|
+
|
|
|
+ n[mini] += 1
|
|
|
+ vals[mini] = funcs[mini](n[mini])
|
|
|
+
|
|
|
+print vals[0]
|