알고리즘 :: 백준 :: 3474 - 교수가 된 현우
·
Problem Solving
❔문제 🔗문제링크🔄 문제 및 입출력 조건 파악입력: 테스트 케이스 T입력: 각 테스트 케이스마다 정수 1 ≤ N ≤ 1,000,000,000출력: $N!$를 나타냈을 때 오른쪽 끝에 있는 0의 개수✏️ 문제풀이당연히 `int`든 `unsigned long long`이든 수의 범위를 가볍게 넘어가기 때문에 직접 계산하는 문제가 아닙니다 ㅎㅎㅎ 0을 만들기 위해서 필요한 '재료'는 2와 5가 있습니다.$N!$를 나열하는 과정에서 2, 4, 6, 8 ... 정말 많은 2가 생성됩니다. 즉, 2라는 재료는 넘쳐난다는 뜻입니다.따라서, 0을 만들기 위한 '핵심재료'는 5입니다. $N!$ 속에 5가 몇 개 있느냐에 따라 0의 개수가 결정됩니다.코드로 나타내면 정말 간단합니다.for (int i = 5; i N ..
알고리즘 :: 백준 :: 4375 - 1
·
Problem Solving
❔문제 🔗문제링크 🔄 문제 및 입출력 조건 파악입력: 각 테스트케이스마다 2와 5로 나누어 떨어지지 않는 정수 N(1 ≤ N ≤ 10000)출력: 각 자릿수가 모두 1로만 이루어진 n의 배수의 자릿수✏️ 문제풀이[Tip] 정해지지 않은 입력 개수 입력받기 = `while (cin >> n)` 1. 증명하기이 문제는 정답을 정수 자료형에(`int`(12자리), `unsigned long long`(20자리)) 담을 수 없습니다.따라서 구해야하는 답인 '자릿수'에 집중해봅시다. $x$가 n의 배수라는 뜻은, $x \pmod n = 0$ 이라는 뜻입니다.그리고, 모듈로 연산(`%`)은 분배법칙이 성립합니다. $x \pmod n = 0$ 이고, $x$를 이전 규칙으로 표현하면 $((x\div10) - 1) ..