728x90
백준 1629 곱셈
문제
자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다.
출력
첫째 줄에 A를 B번 곱한 수를 C로 나눈 나머지를 출력한다.
제출
a,b,c=map(int,input().split())
def f(a,b):
if b==1:
return a%c
else:
t=f(a,b//2)
if b%2==0:
return t*t%c
else:
return t*t*a%c
print(f(a,b))
예제
10 11 12
결과
728x90
'Python > 백준' 카테고리의 다른 글
[Python] 백준 2740 행렬 곱셈 (0) | 2023.07.03 |
---|---|
[Python] 백준 11401 이항 계수 3 (0) | 2023.07.02 |
[Python] 백준 1780 종이의 개수 (0) | 2023.06.30 |
[Python] 백준 1992 쿼드트리 (0) | 2023.06.29 |
[Python] 백준 2630 색종이 만들기 (0) | 2023.06.28 |
댓글