일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- swift문법
- Swift 기능
- OS
- Swift 문법
- 애플 디벨로퍼 아카데미 21주차 회고
- 숭실대
- Apple Developer Academy @ POSTECH
- 앱 비교 프로젝트
- 애플 디벨로퍼 아카데미 후기
- 신입ios개발자회고
- 네이버 부스트캠프
- sqoop
- 개발회고
- apple developer academy 후기
- react
- SWIFT
- 운영체제
- 제앱소
- 신입 ios 개발자
- 신입 개발자
- 데이터베이스
- iOS 개발 오류
- 애플 아카데미 후기
- global soop
- 소프트웨어분석및설계
- 애플 디벨로퍼 아카데미
- Swift 디자인패턴
- 개발자 회고
- ios개발자
- 네이버 치지직
Archives
- Today
- Total
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- swift문법
- Swift 기능
- OS
- Swift 문법
- 애플 디벨로퍼 아카데미 21주차 회고
- 숭실대
- Apple Developer Academy @ POSTECH
- 앱 비교 프로젝트
- 애플 디벨로퍼 아카데미 후기
- 신입ios개발자회고
- 네이버 부스트캠프
- sqoop
- 개발회고
- apple developer academy 후기
- react
- SWIFT
- 운영체제
- 제앱소
- 신입 ios 개발자
- 신입 개발자
- 데이터베이스
- iOS 개발 오류
- 애플 아카데미 후기
- global soop
- 소프트웨어분석및설계
- 애플 디벨로퍼 아카데미
- Swift 디자인패턴
- 개발자 회고
- ios개발자
- 네이버 치지직
Archives
- Today
- Total
사과하는 제라스
[백준 BOJ 1676번] 팩토리얼 0의 개수 본문
목차
728x90
반응형
출처 : https://www.acmicpc.net/problem/1676
1676번: 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
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번] 패션왕 신해빈 (1) | 2021.12.23 |
[백준 BOJ 1934번] 최소공배수 (0) | 2021.12.23 |