码迷,mamicode.com
首页 > 其他好文 > 详细

uva11582 Colossal Fibonacci Numbers(分治法)

时间:2015-08-09 14:14:44      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

题意:输入两个非负整数a、b和正整数n(a,b>=0&&a,b<2^64,n>=1&&n<=1000),你的任务是计算f(a^b)除以n的余数。其中f(0)=f(1),且对于所有非负整数i,f(i+2)=f(i+1)+f(i)


解题思路:设F(i)=f(i) mod n。不难发现当(F(i),F(i+1))重复出现时,整个序列就开始重复。所以我们需要找到对于不同的n重复周期,因为余数有n中,所以最多n^2项就会出现重复(其实我们也可以通过打表观察,在n<=1000时大多数数据基本上用不到n^2).然后只需计算出F(0)~F(n^2)即可。

版权声明:本文为博主原创文章,未经博主允许不得转载。

uva11582 Colossal Fibonacci Numbers(分治法)

标签:

原文地址:http://blog.csdn.net/mengxingyuanlove/article/details/47375145

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!