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

2019年浙江省赛 I Fibonacci in the Pocket

时间:2019-05-04 12:15:06      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:put   lse   text   href   打表   ble   inpu   input   结果   

链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4108

题意:求第l个斐波那契数到第r个斐波那契数的和,判断这个和奇偶性,若为奇输出1,偶输出0

题解:很明显要利用前缀和,通过打表可以发现斐波那契前缀和的奇偶性为 奇 偶 偶 ,循环节长度为3,f(i)表示第i个前缀和,l到r的斐波那契数求和等于f(l)-f(r-1),所以只需要判断l和r-1对三取余的结果就可以判断f(l)和f(r-1)的奇偶性。注意到题目给的数据范围特别大,所以需要用大数模拟取余,我不会嫌麻烦就直接用python写了

代码:

 1 n = int(input())
 2 while n:
 3     n = n - 1
 4     a,b = map(int,raw_input().split())
 5     if a == 1:
 6         b = b % 3
 7         print(b % 2)
 8     else:
 9         b = b % 3
10         a = (a - 1) % 3
11         a = a % 2
12         b = b % 2
13         if a == b:
14             print(0)
15         else:
16             print(1)

备注:要特判r=1的情况

 

2019年浙江省赛 I Fibonacci in the Pocket

标签:put   lse   text   href   打表   ble   inpu   input   结果   

原文地址:https://www.cnblogs.com/harutomimori/p/10807660.html

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