백준 1676번: 팩토리얼 0의 개수 / C++

2023. 2. 7. 21:23개인공부/코딩테스트

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

 

1676번: 팩토리얼 0의 개수

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

www.acmicpc.net

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
32
33
34
35
36
37
38
39
40
41
42
43
44
 
#include <iostream>
 
using namespace std;
 
int main()
{
    int num =0;
    cin >> num;
    int count2=0, count5=0;
    
    for(int i=num; i>1--i)
    {
     int inum= i;
     while(true)
     {
         if(inum %2 == 0)
         {
             inum= inum/2;
             ++count2;
         }
         else if(inum %5 == 0)
         {
             inum = inum/5;
             ++count5;
         }
         else
         {
             break;
         }
     }
    }
    
    if(count2 > count5)
    {
        cout <<count5;
    }
    else
    {
        cout <<count2;
    }
 
    return 0;
}
cs
https://www.acmicpc.net/problem/1676