[백준 17466번] N! mod P 모듈러 연산 성질

2021. 7. 2. 16:30·PS/알고리즘

https://www.acmicpc.net/problem/17466

 

17466번: N! mod P (1)

양의 정수 N과, N보다 큰 소수 P가 주어질 때, N!을 P로 나눈 나머지를 구하여라.

www.acmicpc.net

모듈러 연산

1. 특징

A+B % C = ((A % C) + (B % C)) % C
A-B % C = ((A % C) - (B % C)) % C
A*B % C = ((A % C) * (B % C)) % C

2. 이걸 왜 쓰는거죠?

오버 플로우 막으려고!

unsigned long long : 2^64 = 18,446,744,073,709,551,615

그러니 2의 64 제곱까지도 겨우 버티는데
99999988을 다 팩토리얼 연산해서 나중까지 버티다 나머지를 구한다?


이미 오버 플로우 하고도 남았다.

그래서 결과값이 오염되지 않도록 사전에 나머지 연산을 해줘야 (모둘러 연산 특징 사용)
원하는걸 얻을 수 있을것이다.

 

※10^8 = 약 1000ms = 1s

#include <iostream>
using namespace std;

int main()
{
    int N,P; cin >> N >> P; long long res = 1;
    for(int i = 1; i <= N; i++){
        res = ((res * (i % P)))% P;
    }
    printf("%lld", res);
    return 0;
}
저작자표시 (새창열림)

'PS > 알고리즘' 카테고리의 다른 글

[백준 15649번] 백트래킹 N과 M(1)  (0) 2021.07.05
[상태공간 트리의 탐색 - 0] 목차  (0) 2021.07.05
[프로그래머스 정렬] (level1) 1번 - K번째 수  (0) 2021.06.30
[백준 10814번] 정렬 - 나이순 정렬 (구조체/Pair 자료구조의 compare 함수!)  (0) 2021.06.30
[프로그래머스 스택/큐] (level2) 2번 - 프린터  (0) 2021.06.29
'PS/알고리즘' 카테고리의 다른 글
  • [백준 15649번] 백트래킹 N과 M(1)
  • [상태공간 트리의 탐색 - 0] 목차
  • [프로그래머스 정렬] (level1) 1번 - K번째 수
  • [백준 10814번] 정렬 - 나이순 정렬 (구조체/Pair 자료구조의 compare 함수!)
니앙팽이
니앙팽이
  • 니앙팽이
    니앙팽이 블로그
    니앙팽이
  • 전체
    오늘
    어제
    • 분류 전체보기 (126)
      • 그림그리기 (7)
      • 음악 (4)
        • FL Studio & MIDI (2)
        • 자작곡 (2)
      • 게임 (7)
        • 모바일 (0)
        • 스팀 (0)
        • 닌텐도 (0)
        • 개발 (7)
      • CS (44)
        • SW 공학 (27)
        • DB (7)
        • OS (9)
        • 네트워크 (1)
      • 팁 (9)
      • Language (21)
        • C# (8)
        • C&C++ (3)
        • 파이썬 메모 (3)
        • Javascript (7)
      • PS (0)
        • 알고리즘 (24)
        • 자료구조 (8)
        • 수학 (1)
        • 선형대수 (0)
        • 오토마타 (1)
        • 이산수학 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬
    연결리스트
    따라그리기
    프로그래머스
    디자인패턴
    노마드 코더
    클립 스튜디오
    그림 연습
    유니티
    객체지향개발
    Stack
    unity
    KAKAO
    c#
    clip studio paint
    프로세스
    Javascript
    알고리즘
    자료구조
    가비지 콜렉터
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
니앙팽이
[백준 17466번] N! mod P 모듈러 연산 성질
상단으로

티스토리툴바