Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- StateObject
- ObservableObject
- 애플 디벨로퍼 아카데미
- 제앱소
- SWIFT
- 네이버 치지직
- useReducer
- Swift 문법
- 네이버 부스트캠프
- 데이터베이스
- 치지직
- 애플 아카데미 후기
- global soop
- 데이터베이스 공부
- react
- 애플 디벨로퍼 아카데미 21주차 회고
- swift문법
- 숭실대
- apple developer academy 후기
- 소프트웨어분석및설계
- 애플 디벨로퍼 아카데미 후기
- 앱 비교 프로젝트
- OS
- iOS 개발 오류
- sqoop
- Swift 기능
- 운영체제
- Swift 디자인패턴
- Apple Developer Academy @ POSTECH
- ObservedObject
Archives
- Today
- Total
사과하는 제라스
[백준 BOJ 1676번] 팩토리얼 0의 개수 본문
목차
728x90
반응형
출처 : https://www.acmicpc.net/problem/1676
1. 문제
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
2. 입력
첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)
10
3
3. 출력
첫째 줄에 구한 0의 개수를 출력한다.
2
0
4. 풀이
숫자 뒤에 0의 개수는 1개의 2와 1개의 5가 곱해져서 생기는 것이다. 너무나도 당연하게 팩토리얼에서 2는 5보다 훨씬 많다. 모든 짝수는 2를 갖고 있음과 더불어 2^2, 2^3,...등 여러개 갖고 있다. 하지만 상대적으로 5는 적으니 풀이는 간단하게 5의 개수를 찾는 것이 곧 0의 개수를 찾는 것과 같은 것이다. 5도 n제곱짜리 수들도 많으니 5의 배수, 25의 배수, 125의 배수 등으로 경우를 찾아준 후 겹치는 것들(ex)125는 5의 배수이자, 25의 배수이자, 125의 배수임)에 대한 것도 고려하여 개수를 세어주면 된다.
5. 소스코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
if(N < 5) System.out.println(0);
else if(N < 25) System.out.println(N/5);
else if(N < 125) System.out.println(N/5+N/25);
else System.out.println(N/5+N/25+N/125);
}
}
6. 배운 것
딱히 없음.
728x90
반응형
'JAVA 백준 알고리즘 문제풀이 > 정수론 및 조합론' 카테고리의 다른 글
[백준 BOJ 2004번] 조합 0의 개수 (0) | 2022.01.25 |
---|---|
[백준 BOJ 9375번] 패션왕 신해빈 (0) | 2021.12.23 |
[백준 BOJ 1934번] 최소공배수 (0) | 2021.12.23 |