SpringBoot中Fibonacci数列的示例分析
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章主要为大家展示了"SpringBoot中Fibonacci数列的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SpringBoot中Fib
千家信息网最后更新 2024年11月17日SpringBoot中Fibonacci数列的示例分析
这篇文章主要为大家展示了"SpringBoot中Fibonacci数列的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SpringBoot中Fibonacci数列的示例分析"这篇文章吧。
对于这个问题,拿到手,马上想到的是:先求Fibonacci数列,再求余数。但是极其不建议这样暴力计算。因为当n很大时,计算时间较长,还可能发生数值溢出的情况!
所以,这里给出另外一种思路:间接方式求余数
首先,科普一个求余公式:(a+b)% c = (a%c+b%c)%c
这个式子不难理解,可以代值进去试试看。
所以,不难得出:f(n)%m = [f(n-1)+f(n-2)]%m = [f(n-1)%m+f(n-2)%m]%m
由题目可知,最终求f(n)%m,因此令:g(n)=f(n)%m,其中m=10007。
于是求余递推公式为:g(n)=[g(n-1)+g(n-2)]%m
其中,m=10007,g(1)=g(2)=1%m=1
完整代码如下:
#includeusing namespace std;int main(){ int f1=1,f2=1;int temp=0; //中间变量int output=0; //输出long n=0; //初始化输入 cin>>n;if(n==1||n==2){ output=1; //当n=1或2时,输出为1} else{ for(int i=3;i<=n;i++){ temp=f2; f2=(f1+f2)007; //当n大于2时,递推计算 f1=temp;} output=f2;} cout<
数列
示例
分析
内容
篇文章
输出
余数
公式
学习
帮助
很大
个数
代码
函数
变量
建议
式子
思路
情况
数值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
格家网络技术加班多吗
应用于网络安全管理的技术
快递信息泄露数据库
软件开发涉及的理论和方法
武冈计算机网络技术经验丰富
网络技术有限公司游戏
粘表癌数据库
永健互联网科技
赣州众恒全华网络技术
淮南金融软件开发定制
hadoop数据库表改名
网络安全观图解
软件开发与管理专业就业前景
智慧团建录入数据库连接失败
计算机网络技术接单
数据库管理系统开发人员
网络安全 防护 方案
关于增加网络技术人员的请示
数据库关系中允许有相同的属性
中国上市公司经营困境研究数据库
网络安全审查员面试问题
服务器下行宽带太慢
办公室网络安全管理责任书
安吉创美网络技术服务部
快递信息泄露数据库
域名服务器是域名系统吗
诸暨图腾服务器机柜价格
少年三国志热血服务器
国家教育规划课题数据库
闵行区本地网络技术代理价钱