ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜ (silver 4)

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

 

์ž…๋ ฅ

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

 

์ถœ๋ ฅ

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

 

 

์˜ˆ์‹œ ์ž…๋ ฅ 1

10

์˜ˆ์‹œ ์ถœ๋ ฅ 1

2

 

 

 

์ž…๋ ฅํ•œ ์ˆ˜๋ฅผ ๋’ค์ง‘์–ด์„œ ๋’ค์—์„œ๋ถ€ํ„ฐ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋ฉด ์–ด๋–จ๊นŒ..๋ผ๋Š” ์ƒ๊ฐ์„ ์ฒ˜์Œ์— ํ–ˆ์—ˆ๋Š”๋ฐ C์–ธ์–ด๋กœ๋Š” ํŒŒ์ด์ฌ๋ณด๋‹ค ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™์•„์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด๋ดค๋‹ค.

0์€ ๊ฒฐ๊ตญ 10์˜ ๋ฐฐ์ˆ˜ ์ฆ‰, 2์™€ 5์˜ ๊ณฑ์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์ด์šฉํ–ˆ๋‹ค.

 

10 ํŒฉํ† ๋ฆฌ์–ผ์„ ์˜ˆ์‹œ๋กœ ๋“ค์–ด๋ณด์ž.

 

N! = 1 x 2 x 3 x ... x N

ex) 10! = 3628800

10! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10

10! = 1 x 2 x 3 x (2 x 2) x 5 x (2 x 3) x 7 x (2 x 2 x 2) x (3 x 3) x (2 x 5)

10! = 2^8 x 3^4 x 5^2 x 7

10! = (2^2 x 5^2) x 2^6 x 3^4 x 7

10! = 10^2 x 2^6 x 3^4 x 7

์ด๋ฅผ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฑด 2์™€ 5์˜ ๊ฐœ์ˆ˜ ์ค‘ ์ž‘์€ ๊ฒƒ์ด ๊ณง 0์˜ ๊ฐœ์ˆ˜๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

 

 

๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์—ˆ๋‹ค.

#include <stdio.h>

int main() {
    int num;
    int two = 0, five = 0;
    
    scanf("%d", &num);
    for (int i = 2; i <= num; i *= 2){
        two += num / i;
    }
    for (int j = 5; j <= num; j *= 5){
        five += num / j;
    }
    printf("%d\n", (two < five)? two : five);
    
    return 0;
}

์„ค๋ช…)

num์„ ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•˜๊ณ , num์„ ์†Œ์ธ์ˆ˜๋ถ„ํ•ด ํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” 2์˜ ๋ฐฐ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ two๋ผ๊ณ  ํ•˜๊ณ , num์„ ์†Œ์ธ์ˆ˜๋ถ„ํ•ด ํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” 5์˜ ๋ฐฐ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ five๋ผ๊ณ  ํ•ด์ฃผ์—ˆ๋‹ค.

for๋ฌธ์„ ํ†ตํ•ด two์— num์„ 2์˜ ๋ฐฐ์ˆ˜ i๋กœ ๋‚˜๋ˆ ์ค€ ๋ชซ์„ ๋”ํ•ด์ฃผ์—ˆ๊ณ , ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ five์—๋„ num์„ 5์˜ ๋ฐฐ์ˆ˜ j๋กœ ๋‚˜๋ˆ ์ค€ ๋ชซ์„ ๋”ํ•ด์ฃผ์—ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ two์™€ five ์ค‘์— ์ž‘์€ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋„๋ก ํ•ด์ฃผ์—ˆ๋‹ค.

 

 



์ฐธ๊ณ  : https://ksj14.tistory.com/entry/BackJoon1676-ํŒฉํ† ๋ฆฌ์–ผ-0์˜-๊ฐœ์ˆ˜ 

'๋ฐฑ์ค€ > C' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[C] ๋ฐฑ์ค€ 10828๋ฒˆ  (0) 2022.11.11
[C] ๋ฐฑ์ค€ 1065๋ฒˆ  (0) 2022.11.11
[C] ๋ฐฑ์ค€ 2164๋ฒˆ  (0) 2022.05.24
[C] ๋ฐฑ์ค€_ 7568๋ฒˆ  (0) 2022.05.16
[C] ๋ฐฑ์ค€_1929๋ฒˆ  (0) 2022.05.15
๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค!