Script Python Untuk Pembelajaran
1. faktoris def factorize(n): factors = {} d = 2 while n > 1: power = 0 while n % d == 0: power += 1 n //= d if power > 0: factors[d] = power d += 1 if d * d > n: d = n return factors def get_all_divisors(n): divisors = [] d = 1 while d * d 2. tapological sort def topological_sort(graph): def dfs(graph, used, order, u): used[u] = True for v in graph[u]: if not used[v]: dfs(graph, used, order, v) order.append(u) n = len(graph) used = [False] * n order = [] for i in range(n): if not used[i]: dfs(graph, used, order, i) return order[::-1] def test(): g = [[] for _ in range(3)] g[2].append(0) g[2].append(1) g[0].append(1) assert topological_sort(g) == [2, 0, 1] test()