mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-04-30 12:46:11 -04:00
33 lines
746 B
Python
33 lines
746 B
Python
#!/usr/bin/python3
|
|
|
|
def smallest_multiple(n):
|
|
set1 = set([x for x in range(1, n+1)])
|
|
set2 = set()
|
|
for i in range(len(set1), 0, -1):
|
|
for j in range(1, i):
|
|
if i%j == 0:
|
|
set2.add(j)
|
|
set1 = set1 - set2
|
|
res_num = n*n
|
|
while True:
|
|
for i in set1:
|
|
missing_div = False
|
|
if res_num%i:
|
|
missing_div = True
|
|
shift = res_num%i
|
|
break
|
|
if not missing_div: return res_num
|
|
res_num += 1 or shift
|
|
shift = 0
|
|
|
|
|
|
|
|
|
|
def test_():
|
|
assert(smallest_multiple(10) == 2520)
|
|
print(smallest_multiple(20))
|
|
print('Tests Passed!')
|
|
|
|
if __name__ == '__main__':
|
|
test_()
|