๋ฌธ์
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/1676
- N!์์ ๋ค์์๋ถํฐ ์ฒ์ 0์ด ์๋ ์ซ์๊ฐ ๋์ฌ ๋๊น์ง 0์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
- ์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. (0 ≤ N ≤ 500)
- ์ฒซ์งธ ์ค์ ๊ตฌํ 0์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ด๋์ด
- 0์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ค๋ฉด 10์ ๊ฐ์๋ฅผ ๊ตฌํด์ผ๋๋๋ฐ 10์ 2 * 5๋ก ์ด๋ฃจ์ด์ ธ์์ผ๋ฏ๋ก 2์ 5์ ๊ฐ์๋ฅผ ์๋ฉด 0์ด ๋ช๊ฐ์ธ์ง ์ ์ ์๋ค.
- ํ์ง๋ง ์ฌ๊ธฐ์ 2์ 5์ ๊ฐ์๋ฅผ ๋ชจ๋ ๊ตฌํ ํ์๋ ์๋๋ฐ, 5์ ๋ฐฐ์๋ณด๋ค 2์ ๋ฐฐ์๊ฐ ํจ์ฌ ๋ง๊ธฐ ๋๋ฌธ์ 5์ ๋ฐฐ์๊ฐ ์๋ค๋ฉด ๋ฌด์กฐ๊ฑด 2์ ๋ฐฐ์๋ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ๋ฐ๋ผ์ 1๋ถํฐ N๊น์ง 5์ ๋ฐฐ์๋ง ๊ณจ๋ผ 5์ ๋ฐฐ์๋ฅผ ๋ช๊ฐ์ 5๋ก ๋๋ ์ ์๋์ง ๊ตฌํ๊ณ ๊ทธ ๊ฐ์ ๋ํด์ฃผ๋ฉด 0์ ๊ฐ์๊ฐ ๋๋ค.
๊ฒช์ ์ํ์ฐฉ์ค
- 5์ ๋ฐฐ์๋ฅผ 5๋ก ๋ช๋ฒ ๋๋ ์ ์๋์ง์ ๋ํด ์์ ์ ๋ค๊ฐ ์ค์ํด์ ๋ช๋ฒ ์ข ํ๋ฆฌ๊ธดํ๋ค... ๋ถ๋๋ฝ๋ค..
์ฝ๋
import java.io.*;
import java.util.*;
public class BOJ1676 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
// ๋ค์ 0์ด ์ฌ๋ ค๋ฉด ๊ณฑํ์ ๋ 10์ด ๋์์ผ ๋๋๋ฐ 10์ ๊ฐ์๋
// 5์ ๊ฐ์๋ก ํ๋ณ์ด ๋๋ฏ๋ก 5์ ๋ฐฐ์๊ฐ ๋ช๋ฒ ๋์ค๋์ง ์นด์ดํธ
// 5๋ฅผ ๊ณฑํ์ ๋ 10์ด ๋๋ ค๋ฉด 2๋ ์์ด์ผ ๋์ง๋ง
// 2์ ๋ฐฐ์๊ฐ 5์ ๋ฐฐ์๋ณด๋ค ํจ์ฌ ๋ง์ผ๋ฏ๋ก 5์ ๋ฐฐ์๋ง ์ ๊ฒฝ์ฐ๋ฉด ๋จ
int five = 0;
// N์ด 0์ผ ๋, ๋ฌด์กฐ๊ฑด ์ถ๋ ฅ์ด 0์ด๋ฏ๋ก 0 ์ถ๋ ฅ
if(N == 0){
System.out.println(0);
}
else{
for(int i = 1; i <= N; i++){
// i๊ฐ 0์ด๋ฉด ๋๋จธ์ง๊ฐ 0์ด ๋์ค๋ฏ๋ก 0์ ์ ์ธํ๊ณ 5๋ก ๋๋ด์ ๋ 0์ผ ๊ฒฝ์ฐ,
if(i % 5 == 0){
// i๋ฅผ ์ง์ ์ ์ผ๋ก ๊ฑด๋๋ฆฌ๋ฉด ๋ฌดํ๋ฃจํ์ ๋น ์ง๋ฏ๋ก ๋ฐ๋ก ๋ณ์์ i๊ฐ์ ์ ์ฅํด์ค
int num = i;
// ๊ธฐ์กด 5๋ฅผ ์นด์ดํธ ํ๋ ๋ณ์์ i๋ฅผ 5๋ก ๋จ๋ฐ ๋๋ ์ ์๋์ง ๋ํจ
while(true){
// i๋ฅผ 5๋ก ๊ณ์ ๋๋ ์ ์์ ๊ฒฝ์ฐ
if(num != 0 && num % 5 == 0){
num = num / 5;
five = five + 1;
}
// 5๋ก ๊ณ์ ๋๋ ์ ์์ ๊ฒฝ์ฐ
else{
break;
}
}
}
}
System.out.println(five);
}
}
}
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] BOJ 7568 ๋ฉ์น (0) | 2024.07.15 |
---|---|
[Java] BOJ 2751 ์ ์ ๋ ฌํ๊ธฐ 2 (0) | 2024.07.15 |
[Java] BOJ 1436 ์ํ๊ฐ๋ ์ (4) | 2024.07.14 |
[Java] BOJ 1181 ๋จ์ด ์ ๋ ฌ (2) | 2024.07.14 |
[Java] BOJ 28702 FizzBuzz (0) | 2024.07.13 |