예제 #1
0
def get_period_length(n, m):
    period = []

    i = 0
    while True:
        if i >= 2:
            period.append(calc_fib(i) % m)
        else:
            period.append(i)

        if i >= 2 and period[i - 1] == 0 and period[i] == 1:
            break

        i = i + 1

    return len(period) - 2
예제 #2
0
def get_fibonacci_huge_fast(n, m):
    length = get_period_length(n, m)
    return calc_fib(n % length) % m
예제 #3
0
def fibonacci_sum_fast(n):
    fn_sum = calc_fib(n + 2) - 1

    return fn_sum % 10
def fibonacci_partial_sum_fast(from_, to):
    return (calc_fib(to + 2) - calc_fib(from_+ 1)) % 10
예제 #5
0
def fibonacci_sum_squares_fast(n):
    return (calc_fib(n) * calc_fib(n + 1)) % 10
예제 #6
0
# Uses python3
import sys
sys.path.append('../app')

from fibonacci_number.fibonacci_table import calc_fib
# from .last_digit_of_fibonacci_number.fibonacci_last_digit_table import get_fibonacci_last_digit_table
n = int(input())

# for i in range(990, 1001):
#     for N in range(n):
#         if i >= 2:
#             print(calc_fib(N) % i , end=" ")
#         else:
#             print(calc_fib(N), end=" ")
#     print('\n')

for i in range(n):
    print(calc_fib(i), end=" ")
# print('\n')