====== Numbers (Small) ====== ===== 풀이 ===== * [[ps:problems:boj:12925]]에서 n의 범위를 줄인 버전. 이 범위까지는 높은 정밀도의 실수 라이브러리를 이용해서 그냥 답을 구하거나, 계산기로 n≤30 까지의 답을 계산해서 코드에 답을 하드코딩해두거나 하는 방법으로도 풀리긴는 한다. 정해는 [[ps:problems:boj:12925]] 참고. ===== 코드 ===== """Solution code for "BOJ 12727. Numbers (Small)". - Problem link: https://www.acmicpc.net/problem/12727 - Solution link: http://www.teferi.net/ps/problems/boj/12727 Tags: [Math] """ from teflib import combinatorics MOD = 1000 COEF = [6, -4] # A(n)=6A(n-1)-4A(n-2) ( A(n) = (3+sqrt(5))^n + (3-sqrt(5))^n ) SEED = [2, 6] # A(0)=2, A(1)=6 def main(): T = int(input()) for i in range(T): n = int(input()) answer = combinatorics.linear_homogeneous_recurrence( COEF, SEED, n, MOD) - 1 print(f'Case #{i + 1}: {answer:>03}') if __name__ == '__main__': main() * Dependency: [[:ps:teflib:combinatorics#linear_homogeneous_recurrence|teflib.combinatorics.linear_homogeneous_recurrence]] {{tag>BOJ ps:problems:boj:골드_3}}