题面

结论:gcd(F[n],F[m])=F[gcd(n,m)];

F[n]=a和F[n+1]=b

F[n+2]=a+b,F[n+3]=a+2b,…F[m]=F[m?n?1]a+F[m?n]b

F[n]=a,F[n+1]=b,F[m]=F[m?n?1]a+F[m?n]

F[m]=F[m?n?1]?F[n]+F[m?n]?F[n+1]

gcd(F[n],F[m])=gcd(F[n],F[m?n?1]?F[n]+F[m?n]?F[n+1])

gcd(F[n],F[m])=gcd(F[n],F[m?n]?F[n+1])

引理:gcd(F[n],F[n+1])=1

证明:gcd(F[n],F[n+1])=gcd(F[n],F[n+1]?F[n])=gcd(F[n],F[n?1])=......=gcd(f[1],f[2]);

gcd(F[n],F[n+1])=1;

gcd(F[n],F[m])=gcd(F[n],F[m?n]?F[n+1]);

gcd(F[n],F[m])=gcd(F[n],F[m?n]);

即gcd(F[n],F[m])=gcd(F[n],F[mmodn]);

则gcd(F[n],F[m])=gcd(F[nmodm1],F[m1]);

不难发现,整个递归过程其实就是在求解gcd(n,m)

最后递归到出现F[0],那么此时的f[n]就是答案;

gcd(F[n],F[m])=F[gcd(n,m)];

最新文章

  1. android mk odex问题 push apk 不生效
  2. 安装和使用Linux花生壳(公网版)
  3. Linux vmstat字段解析
  4. [Effective JavaScript 笔记]第67条:绝不要同步地调用异步的回调函数
  5. 2016.6.23 PHP实现新闻发布系统主体部分
  6. Weak Pair---hud5877大连网选(线段树优化+dfs)
  7. python tools: iPython Notebook
  8. TMS320C54x系列DSP的CPU与外设——第5章 数据寻址
  9. JAVA:二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题(5)
  10. iOS 非ARC基本内存管理系列 3-循环retain和@class
  11. 引用的时候js不能使用虚拟路劲,调试时用排除法测试
  12. web.xml 配置的详解
  13. Fatal error: Call to undefined function mysql_connect()
  14. (知识点)JavaScript原型和原型链
  15. 201521123003《Java程序设计》第6周学习总结
  16. InnoDB 存储引擎的特点及优化方法
  17. BP算法的矩阵推导
  18. WPFのDecorator 、Adorner和AdornerDecorator
  19. c数组
  20. ibatis中的安全问题

热门文章

  1. the nearest point/vertex point of linestring
  2. HDU2433—Travel (BFS,最短路)
  3. [笔记]mongodb一
  4. 解决phpmyadmin出现: Maximum execution time of 300
  5. ubuntu下mysql数据库存储路径修改
  6. 如何限制修改IP地址;如何禁止显示的本地连接属性
  7. 分组 vs 联合
  8. 图片存进Mat类中,然后调用图像矩阵元素
  9. SpringBoot 启动流程
  10. DVM 和 JVM 的区别?