题目链接

题意 :给你第 i 项的值fi,第 j 项的值是 fj 让你求第n项的值,这个数列满足斐波那契的性质,每一项的值是前两项的值得和。

思路 :知道了第 i 项第j项,而且还知道了每个数的范围,二分求第 i+1项,然后根据性质求下去,求到第 j 项的时候看看通过二分求出来的值与给定的第j项的值大小关系,来确定下一次二分的值,输出的时候注意方向。

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm> using namespace std ;
#define LL long long int main()
{
LL i,fi,j,fj,n ;
while(~scanf("%I64d %I64d %I64d %I64d %I64d",&i,&fi,&j,&fj,&n))
{
if(i > j)
{
swap(i,j) ;
swap(fi,fj) ;
}
LL start,endd,mid,a,b,c ;
start = -2000000000LL ,endd = 2000000000LL ;
while(start + < endd)
{
mid = (start + endd) / ;
a = fi ;
b = mid ;
for(int k = i+ ; k <= j ; k++)
{
c = a + b ;
a = b ;
b = c ;
if(c > 4000000001LL || c < -4000000001LL)
break ;
}
if(b < fj)
{
start = mid ;
}
else endd = mid ;
}
a = fi ;
b = endd ;
if(n >= i + )
{
for(int k = i + ; k <= n ; k++)
{
c = a+b ;
a = b ;
b = c ;
}
printf("%I64d\n",b) ;
}
else
{
for(int k = i- ; k >= n ; k--)
{
c = b-a ;
b = a ;
a = c ;
}
printf("%I64d\n",a) ;
}
}
return ;
}

最新文章

  1. 设置DIV块元素在浏览器页面中垂直居中
  2. [No00004C]软件工程师的创业陷阱:接私活
  3. nohup不输出日志信息的方法,及linux重定向学习
  4. bzoj 1467: Pku3243 clever Y 扩展BSGS
  5. 本机Font字体
  6. DIV+CSS 网页布局之:三列布局
  7. LVS单机测试不负载
  8. TWinControl的消息覆盖函数大全(41个WM_函数和31个CM_函数,它的WndProc就处理鼠标(转发)、键盘(取消拖动)、焦点、和WM_NCHITTEST一共4类消息)
  9. 分享基于分布式Http长连接框架--架构模型
  10. 线段树 (区间查询最大 区间求和 区间加)带lazy
  11. BZOJ_3996_[TJOI2015]线性代数_最大权闭合子图
  12. VS启动调试速度异常的缓慢问题
  13. 手机Web 开发中图片img 如何等比例缩放
  14. eclipse + maven搭建SSM框架
  15. python 元组中元组转为字典
  16. 用java进行简单的万年历编写
  17. Python闭包Closure 2
  18. matlab 投影
  19. vscode编辑器配置C语言编译运行环境
  20. Java编码转换

热门文章

  1. 转JMeter 利用Jmeter批量数据库插入数据
  2. 微信小程序,请求php后台返回json数据多出隐藏字符问题
  3. Vue.js:表单
  4. HBuilder使用技巧
  5. python开发函数进阶:装饰器
  6. 在Altium Designer 9中如何实现元器件旋转45°放置
  7. C#获取网络状态
  8. oracle数据库中函数的递归调用
  9. Pandas统计计算和描述
  10. Delphi IOS 蓝牙锁屏后台运行