누룽지맛치킨
어미새의 개발일지
누룽지맛치킨
전체 방문자
오늘
어제
  • 분류 전체보기 (86)
    • 코틀린 (8)
    • 안드로이드 (5)
      • 디자인 (2)
      • 개발 (2)
      • 도구 (1)
    • 피그마 (1)
    • 대외활동 (0)
    • 프로젝트 (0)
    • 백준 (55)
      • JAVA (55)
    • 알고리즘 (3)
    • 클라우드 (5)
    • 스터디 (2)
      • 코테 (2)
    • 자료구조 (5)
    • 컴퓨터 기술 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자료구조
  • 클라우드
  • 안드로이드 디자인
  • 백준 자바 2292번
  • 백준 자바 벌집
  • 백준 자바 2559번
  • 백준 자바 수열
  • 안드로이드
  • 백준 자바 정렬
  • 알고리즘 조합
  • 클라우드 컴퓨팅
  • 코틀린 인 액션
  • 백준 자바 누적합
  • 코틀린
  • 자바 Priority Queue
  • Room Migration
  • 코틀린 runBlocking
  • Room version 올리기
  • 백준 자바 다이나믹 프로그래밍
  • 백준 자바

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
누룽지맛치킨

어미새의 개발일지

백준/JAVA

[백준/JAVA] 1676번 팩토리얼 0의 개수

2023. 2. 6. 15:49
  • 소인수분해의 성질을 활용하여 N!의 끝에 0이 얼마나 많이 오는지 구하는 문제
    https://www.acmicpc.net/problem/1676

1. 문제

N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.

2. 문제 접근

1) 첫째 줄에 N을 입력받는다.
2) N!의 뒤에 0은 10이 곱해질 때마다 하나씩 추가된다.
3) 10이 곱해지기 위해서는 N!에서 각 정수가 곱해질 때 5와 2가 곱해지면 된다.
4) 5의 배수 사이에는 짝수가 무조건 존재하므로 5의 개수만 구하면 0의 개수를 구할 수 있다.

3. 코드

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

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());
        int result =0;
        for(int i=5;i<=n;i++) {
            int temp = i;
            while(temp%5==0) {
                result++;
                temp/=5;
            }
        }
        System.out.println(result);
    }
}

'백준 > JAVA' 카테고리의 다른 글

[백준/JAVA] 1874번 스택 수열  (0) 2023.02.10
[백준/JAVA] 4949번 균형잡힌 세상  (0) 2023.02.06
[백준/JAVA] 1010번 다리 놓기  (0) 2023.02.06
[백준/JAVA] 2609번 최대공약수와 최소공배수  (0) 2023.02.06
[백준/JAVA] 단계별로 풀어보기(8단계) 기본 수학 2  (0) 2023.02.06
    '백준/JAVA' 카테고리의 다른 글
    • [백준/JAVA] 1874번 스택 수열
    • [백준/JAVA] 4949번 균형잡힌 세상
    • [백준/JAVA] 1010번 다리 놓기
    • [백준/JAVA] 2609번 최대공약수와 최소공배수
    누룽지맛치킨
    누룽지맛치킨

    티스토리툴바