*문제 출처는 백준에 있습니다.
문제 제목: 곱셈 / 1629번 (실버 1단계)
문제 사이트: https://www.acmicpc.net/problem/1629
문제 설명
나의 풀이
def solution(a, b, c):
if b == 0:
return 1
elif b == 1:
return a % c
else:
temp = solution(a, b // 2, c)
temp = (temp * temp) % c
if b % 2 == 0:
return temp
else:
return (temp * a) % c
A, B, C = map(int, input().split())
print(solution(A, B, C))
※ 알아야 할 것
분활정복 알고리즘을 사용하여 문제를 풀면 쉽게 풀 수 있다.
'코딩테스트(프로그래머스 & 백준) > 백준-Python' 카테고리의 다른 글
백준 / 노드사이의 거리 / 1240번 / Python (0) | 2024.07.16 |
---|---|
백준 / Contact / 1013번 / Python (3) | 2024.07.15 |
백준 / 팩토리얼5 / 1564번 / Python (0) | 2024.07.11 |
백준 / 효율적인 해킹 / 1325번 / Python (1) | 2024.07.10 |
백준 / DFS와 BFS / 1260번 / Python (0) | 2024.06.24 |