Skip to content

Commit a2b6f6b

Browse files
committed
[Silver I] Title: 곱셈, Time: 92 ms, Memory: 108384 KB -BaekjoonHub
1 parent 35dc35a commit a2b6f6b

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# [Silver I] 곱셈 - 1629
2+
3+
[문제 링크](https://www.acmicpc.net/problem/1629)
4+
5+
### 성능 요약
6+
7+
메모리: 108384 KB, 시간: 92 ms
8+
9+
### 분류
10+
11+
분할 정복을 이용한 거듭제곱, 수학
12+
13+
### 제출 일자
14+
15+
2025년 4월 10일 13:22:24
16+
17+
### 문제 설명
18+
19+
<p>자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램을 작성하시오.</p>
20+
21+
### 입력
22+
23+
<p>첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다.</p>
24+
25+
### 출력
26+
27+
<p>첫째 줄에 A를 B번 곱한 수를 C로 나눈 나머지를 출력한다.</p>
28+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
A, B, C = map(int, input().split())
2+
def multi (A,n):
3+
if n == 1:
4+
return A % C
5+
else:
6+
tmp = multi(A, n//2)
7+
if n % 2 ==0: return (tmp * tmp) % C
8+
else: return (tmp * tmp * A) % C
9+
print(multi(A, B))

0 commit comments

Comments
 (0)