티스토리 뷰

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
링크
«   2024/11   »
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
글 보관함