본문 바로가기

알고리즘 관련/BOJ

BOJ 7894) 큰 숫자

문제: icpc.me/7894


BOJ 7894


임의의 숫자 n의 자리수는 ceil(log10(n))으로 결정된다


n!의 자리수는 ceil(log10(n)+log10(n-1)+...+log10(1)) 으로 결정된다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
#include <algorithm>
#include <math.h>
using namespace std;
int t, m;
int main() {
    scanf("%d"&t);
    while (t--) {
        scanf("%d"&m);
        double r = 0.0;
        for (double i = (double)m; i > 0; i--) {
            r += log10(i);
        }
        if (m == 1)
            printf("1\n");
        else
            printf("%lld\n", (int)ceil(r));
    }
    return 0;
}
 
 
cs


'알고리즘 관련 > BOJ' 카테고리의 다른 글

BOJ)11895 속이기  (0) 2017.01.03
BOJ)2401 최대 문자열 붙여넣기  (1) 2016.12.30
BOJ)13168 내일로 여행  (0) 2016.12.30
BOJ)13911 집 구하기  (0) 2016.12.30
BOJ 5719) 거의 최단 경로  (12) 2016.12.29