새소식

알고리즘/문제 풀이

[C++] 백준 1629 - 곱셈

  • -

https://0041lntc.tistory.com/1

 

[C++] 백준 1629 - 곱셈

https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 1. 입력 2,147,483,647 이하의 자연수 A B

0041lntc.tistory.com

상세 설명은 이전 블로그에 작성한 아티클을 참고하기 바란다.

#include <iostream>
#include <cmath>

typedef unsigned int RETURN_TYPE;
RETURN_TYPE PowAndMod(RETURN_TYPE x, RETURN_TYPE y, RETURN_TYPE m);

int main()
{
    RETURN_TYPE n, e, m;
    std::cin >> n >> e >> m;

    RETURN_TYPE result = PowAndMod(n, e, m);
    std::cout << result;
}

RETURN_TYPE PowAndMod(RETURN_TYPE x, RETURN_TYPE y, RETURN_TYPE m)
{
	RETURN_TYPE value = 1;

	while (y > 0)
	{
		if (y & 1)
			value = value * x % m;
		x = x * x % m;
		y >>= 1;
	}

	return value;
}

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.