팩토리얼 0의 개수 //1676

김동완·2022년 8월 3일
0

BAEKJOON

목록 보기
30/53
  • 문제
    N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
  • 입력
    첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)
  • 출력
    첫째 줄에 구한 0의 개수를 출력한다.

// Created by dongwan-kim on 2022/07/30.
#include<iostream>

using namespace std;

int n, fivecnt, twocnt;

int main() {
    cin >> n;
    int arr[n];
    for (int i = 0; i < n; i++) {
        arr[i] = i + 1;
    }

    for (int i = 0; i < n; i++) {
        while (arr[i] % 5 == 0) {
            fivecnt++;
            arr[i] /= 5;
        }
    }

    for (int i = 0; i < n; i++) {
        while (arr[i] % 2 == 0) {
            twocnt++;
            arr[i] /= 2;
        }
    }

    if (fivecnt <= twocnt)
        cout << fivecnt;
    else
        cout << twocnt;

}

풀이

profile
KIM DONGWAN

0개의 댓글