Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def smallest(n):
- if n % 2 == 0:
- return 2
- for i in range(3, int(n ** 0.5) + 1, 2):
- if n % i == 0:
- return i
- return n
- def alg1(n):
- if n == 1:
- return 0
- else:
- if n % 2 != 0:
- return alg1(n - 1) + 1
- else:
- return alg1(n // 2) + 1
- def alg2(n):
- if n == 1:
- return 0
- else:
- k = smallest(n)
- if k == n:
- return alg2(n - 1) + 1
- else:
- return alg2(k) + alg2(n // k)
- n = int(input())
- print(alg1(n), alg2(n))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement