[BOJ][C++] λ°±μ€ 1676λ²: ν©ν λ¦¬μΌ 0μ κ°μ
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;
}