Description

有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.
给出A,B和N,求f(n)的值。

Input

输入3个数:A,B,N。数字之间用空格分割。(-10000 <= A, B <= 10000, 1 <= N <= 10^9)

Output

输出f(n)的值。

Sample Input

3 -1 5

Sample Output

6

Hint

题意

题解:

循环节不一定从 1 1开始 循环节长度不会超过50 (不清楚)
用二重循环来查找循环节

AC代码

#include <cstdio>
int f[60];
int main(){int a,b,n;scanf("%d%d%d",&a,&b,&n);f[1] = f[2] = 1;for (int i = 3;i <= 50; ++i){f[i] = (a*f[i-1]+b*f[i-2])%7+7;f[i]%=7;}int f1,f2,flag = 0;for (int i = 1; i < 50; ++i){for (int j = i+1;j<=50; ++j){if (f[j]==f[i]&&f[j+1]==f[i+1]){f1 = i;f2 = j;flag = 1;break;}}if (flag) break;}if (n<f1){printf("%d\n",f[n]);}else printf("%d\n",f[f1+(n-f1)%(f2-f1)]);return 0;
}

求递推序列的第N项 51Nod - 1126相关推荐

  1. 51Nod-1126 求递推序列的第N项【递推序列+模除】

    1126 求递推序列的第N项 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * ...

  2. 51nod 1126 求递推序列的第N项 思路:递推模拟,求循环节。详细注释

    题目: 看起来比较难,范围10^9 O(n)都过不了,但是仅仅是看起来.(虽然我WA了7次 TLE了3次,被自己蠢哭) 我们观察到 0 <= f[i] <= 6 就简单了,就像小学初中学的 ...

  3. 1126 求递推序列的第N项 (Fnb + mod + 思维)

    有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的值. Input 输 ...

  4. 515Nod 1126 求递推序列的第n项【矩阵快速幂】

    有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的值. Input 输 ...

  5. 求递推序列的第N项(51Nod-1126)

    题目 有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的值. 输入 输 ...

  6. [51NOD1126]求递推序列的第n项(矩阵快速幂)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1126 存在参数a,b为负数的情况.这时候要这么处理: 根据mo ...

  7. 有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。

    问题与代码:有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, -编写程序求出这个序列的前n项之和 文件名称:有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, -编写 ...

  8. 【组合数学】组合恒等式 ( 递推 组合恒等式 | 变下项求和 组合恒等式 简单和 | 变下项求和 组合恒等式 交错和 )

    文章目录 一.组合恒等式 ( 递推式 ) 二.组合恒等式 ( 变下项求和 ) 简单和 二.组合恒等式 ( 变下项求和 ) 交错和 一.组合恒等式 ( 递推式 ) 组合恒等式 ( 递推式 ) : 1 . ...

  9. 遍历递归树求递推数列通项

    考虑K阶变系数线性递推方程: 现给定初值a1,a2,-,ak和n>k,要求编程打印an,an-1,-,ak+1的值 该问题用常规的迭代法非常容易解决,现在要考虑的是用遍历递归调用树的方法求解.n ...

最新文章

  1. 消除左递归实验代码_「leetcode」108. 构造二叉搜索树【递归】【迭代】详解!
  2. linux判断是否能上网_母亲提醒女儿:判断一个男人是否值得嫁,从这两点就能轻易看出...
  3. linux查看接口名,在linux下 怎么查看网络接口的名字? 网络接口的名字英文是什么呀?...
  4. RHEL5一个网卡绑定多个IP
  5. 【转】如何用Redis做LRU-Cache
  6. HALCON测量工具
  7. 个人出路......
  8. java反射成员变量_java反射之成员变量的反射
  9. 【框架学习分享】HttpRunner
  10. 基于sentinel湿地_基于Sentinel-1A雷达影像的崇明东滩芦苇盐沼植被识别提取
  11. How to use STA(sql tuning advisor)
  12. 基于CUDA的三维VTI介质逆时偏移与ADCIGs提取
  13. 在虚拟宿主环境中承载 Active Directory 域控制器时需要考虑的事项
  14. SQL Server差异备份的备份/还原原理
  15. bzoj 1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列
  16. R语言自动化报告格式——knitr
  17. SQL:postgresql一条sql语句查询多个count
  18. async/await 异步编程(转载)
  19. 天地图JS API制作专题图
  20. 桥连模式,模板模式的改进

热门文章

  1. PingCAP 入选 2022 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分
  2. Visual C++ 2019中MFC图像处理编程(一) 位图文件的介绍
  3. 数组越界 linux,数组越界导致系统重启的案例
  4. 云原生领域再添重磅开源项目:腾讯发布 K8s 多集群管理开源项目 Clusternet
  5. JAVA中split函数的用法
  6. 东芝TB67S539FTG推出无需电流感应电阻的40V/2.0A步进电机驱动IC
  7. 中国超美国成为全球最大智能手机市场
  8. Cloneable接口
  9. 2022-4-9 基于51单片机驱动直流电机(L293D)(公众号:风吹摇铃 奔赴星海)
  10. 情人节表白代码【爱你到天荒地老】