본문 바로가기
Python/백준

[Python] 백준 1629 곱셈

by 푸_푸 2023. 7. 1.
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

결과

백준 1629 곱셈

 

 

1629번: 곱셈

첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다.

www.acmicpc.net

 

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

댓글