https://www.acmicpc.net/problem/2575
긴 수열은 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 |
'백준 문제풀이' 카테고리의 다른 글
백준 5822 - 악어의 지하 도시 [Python] (0) | 2021.06.25 |
---|---|
백준 5821 - 쌀 창고 [Python] (0) | 2021.06.25 |
백준 14700 - 넴모넴모 (Hard) [C++] (0) | 2021.06.07 |
백준 10909 - Quaternion inverse [Python] (0) | 2021.05.31 |
백준 21735 - 눈덩이 굴리기 [C++/Python] (0) | 2021.05.23 |