summaryrefslogtreecommitdiff
path: root/progs/dont_care/a242.py
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2024-05-28 10:29:13 +0200
committerSanto Cariotti <santo@dcariotti.me>2024-05-28 10:29:13 +0200
commitf05d888a0b621ca4e99e2b0fb6e23c097006fe41 (patch)
treeeebbb2489144112d3288393e354d19375a0aa088 /progs/dont_care/a242.py
Init
Diffstat (limited to 'progs/dont_care/a242.py')
-rw-r--r--progs/dont_care/a242.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/progs/dont_care/a242.py b/progs/dont_care/a242.py
new file mode 100644
index 0000000..dc0ceec
--- /dev/null
+++ b/progs/dont_care/a242.py
@@ -0,0 +1,12 @@
+import heapq
+def nth_super_ugly_number(n, primes):
+ uglies = [1]
+ def gen(prime):
+ for ugly in uglies:
+ yield ugly * prime
+ merged = heapq.merge(*map(gen, primes))
+ while len(uglies) < n:
+ ugly = next(merged)
+ if ugly != uglies[-1]:
+ uglies.append(ugly)
+ return uglies[-1] \ No newline at end of file