티스토리 뷰

ps

BOJ 7894(큰 수)풀이

KWG07(joseph0528) 2021. 1. 17. 20:57

solved.ac 티어 : 골드 2

www.acmicpc.net/problem/7894

 

7894번: 큰 수

많은 어플리케이션은 매우 큰 수를 사용한다. 이러한 어플리케이션은 데이터를 안전하게 전송하고, 암호화하기 위해서 수를 키로 사용한다. 수가 주어지면, 그 수의 팩토리얼의 자리수를 구하

www.acmicpc.net

이문제는 log10(1)+log10(2)+log10(3)... log10(m)

이 답인데 처음에 그냥 2중 반복으로 하면 시간 초과 날 거 같아서 log10(1)+log10(2)+log10(3)... log10(m) = log10(m!)인걸 이용해서 팩토리얼을 최대한 짧게 구해서 하려고 했지만 O(M/2)만큼 걸려 시간 초과가 나서 그냥 2중 반복으로 했더니 맞았다;;

import math,sys;input=sys.stdin.readline;a=int(input())
for i in range(a):
    b=int(input());s=0
    for g in range(1,b+1):s+=math.log10(g)
    print(int(s)+1)

'ps' 카테고리의 다른 글

BOJ 11670(초등 수학) 풀이  (0) 2021.01.19
BOJ 8895(막대 배치) 풀이  (0) 2021.01.18
BOJ 12844(XOR)풀이  (0) 2021.01.15
BOJ 1574(룩 어택)풀이  (0) 2021.01.12
BOJ 2505(두 번 뒤집기)풀이  (0) 2021.01.12
댓글