티스토리 뷰

https://www.acmicpc.net/problem/1676

 

1676번: 팩토리얼 0의 개수

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

www.acmicpc.net

 

#include <iostream>

using namespace std;

 

int main() {

  int N;

  cin >> N;

 

  int two = 0; //인수로 2 가지는 횟수

  int five = 0; //인수로 5 가지는 횟수

 

  for(int i = 2; i <= N; i = i*2)

  {

    two += N / i;

  }

  for(int i = 5; i <= N; i = i * 5)

  {

    five += N / i;

  }

  if(two < five)

  //5보다 2 인수로 갖는 경우가 적을

    cout << two << endl;

  else

  // 값이 같거나, 2보다 5 인수로 갖는 경우가 적을

    cout << five << endl;

  return 0;

}

'PS > BOJ C++' 카테고리의 다른 글

11508번 - 2+1 세일  (0) 2021.09.16
11508번 - 2+1 세일  (0) 2021.09.12
2798번 - 블랙잭  (1) 2021.08.29
1157번 - 단어 공부  (0) 2021.08.27
10809번 - 알파벳 찾기  (0) 2021.08.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
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
글 보관함