백준 문제풀이
백준 2575 - 수열 [Python]
Vermeil
2021. 6. 24. 08:34
https://www.acmicpc.net/problem/2575
2575번: 수열
첫째 줄에 정수 M이 주어진다. 1 ≤ M ≤ 1,000,000 이다.
www.acmicpc.net
긴 수열은 3으로 쪼개고, 짧은 수열은 2 대신 4로 먼저 나누고 소인수분해 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
m = int(input())
x2 = 0
if m == 1:
print(1, 1)
exit()
t = m x1 = (t + 2) // 3
while m % 4 == 0:
m //= 4
x2 += 1
for i in range(2, 1000001):
while m % i == 0:
m //= i
x2 += 1
print(x1, x2)
|
cs |