๐Ÿ’  BOJ/Class 3

[BOJ][C++] ๋ฐฑ์ค€ 1676๋ฒˆ: ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜

์„ ๋‹ฌ 2023. 4. 19. 23:34
๋ฐ˜์‘ํ˜•

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

 

1676๋ฒˆ: ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜

N!์—์„œ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฒ˜์Œ 0์ด ์•„๋‹Œ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

www.acmicpc.net

 

๋ฌธ์ œ

N!์—์„œ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฒ˜์Œ 0์ด ์•„๋‹Œ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (0 ≤ N ≤ 500)

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๊ตฌํ•œ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

1์—์„œ n๊นŒ์ง€ ์ˆ˜๋“ค์˜ 5์˜ ์ธ์ˆ˜์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค 

์›๋ž˜๋Š” ์ธ์ˆ˜๊ฐ€ 2์™€ 5์ผ๋•Œ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๊ตฌํ•ด์„œ ๋” ์ ์€ ๊ฐฏ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋˜์ง€๋งŒ,

์ ˆ๋Œ€์ ์œผ๋กœ ์ธ์ˆ˜ 2 ์˜ ๊ฐฏ์ˆ˜๊ฐ€ ์ธ์ˆ˜ 5์˜ ๊ฐฏ์ˆ˜๋ณด๋‹ค ๋งŽ์œผ๋ฏ€๋กœ ์ธ์ˆ˜ 5์˜ ๊ฐฏ์ˆ˜๋งŒ ๋ฆฌํ„ดํ•œ๋‹ค

 

์ฐธ๊ณ ๋กœ 95%์—์„œ ํ‹€๋ฆฌ๋ฉด n=0์ธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•˜์ž

0! = 1 ์ด๊ธฐ ๋–„๋ฌธ์— ๋‹ต์€ 0์ด๋‹ค

#include <iostream>
#include <vector>

using namespace std;

int main() {
    int n;
    cin >> n;
    
    int five=0, temp; // five: n์˜ ์ธ์ˆ˜ ์ค‘ 5์˜ ๊ฐฏ์ˆ˜
    for(int i=1; i<=n; i++) {
        temp = i;
        while(temp%5 == 0) {
            temp /= 5;
            five++;
        }
    }
    
    cout << five;
    
    return 0;
}
๋ฐ˜์‘ํ˜•