Module: توان سریع


Problem

4/5

** مدول اعداد فیبوناچی (C++)

Theory Click to read/hide

اعداد فیبوناچی مدولو

برای یافتن موثر عدد فیبوناچی، از ضرب ماتریس، جزئیات بیشتر اینجا استفاده می کنیم.
 
دانستن اینکه 
\(F_{n+m} = F_m F_{n+1} + F_{m-1} F_n\)، رابطه عود را بنویسید برای محصول ماتریس:
• اگر \(m = n\) سپس \(F_{2n} = F_n F_{n+1} + F_ { n-1} F_n\);
• اگر \(m = n + 1\) سپس \(F_{2n+1} = F_{n+1 } F_{n+1} + F_n F_n\).
 

Problem

همانطور که می دانید، دنباله فیبوناچی به صورت زیر تعریف می شود:
\(F(0) = 0,\ F(1) = 1,\ F(n) = F(n – 1) + F(n – 2)\ )، برای همه \(n > 1\).
این نام برگرفته از ریاضیدان ایتالیایی لئوناردو فیبوناچی است که به لئوناردو پیزا نیز معروف است.
 
ورودی
رشته حاوی یک عدد صحیح n است (\(1 <= n <= 10^{18}\)).
 
خروجی
مقدار F(n)، مدول محاسبه شده \(10^8\) را چاپ کنید.

قطعه کد گم شده را در برنامه جایگذاری کنید.

 

نمونه‌ها
<سر> <بدن>
# ورودی خروجی
1 30 832040