洛谷P4994 终于结束的起点 题解
2024-10-02 06:07:04
求赞,求回复,求关注~
题目:https://www.luogu.org/problemnew/show/P4994
这道题和斐波那契数列的本质没有什么区别。。。
分析:
这道题应该就是一个斐波那契数列的计算吧,为了防止数字过大,我们可以每次%m;
为了防止时间过长,我们可以用递推;
为了防止数组开炸,我们可以只记录当前和上一项;
于是这道题听说还是一道原题?但赛后去看了看,真的比原题水一些呀。
代码:
#include<cstdio>
using namespace std;
int main()
{
int m;
scanf("%d",&m);
int last=0,now=1,tmp;//now用来记录当前更新的一个,last记录上一个(为了能更新下面的项),tmp临时存储当前项,防止被下一项冲掉
for(int i=2;;i++)
{
tmp=now%m;
now=(now+last)%m;
last=tmp%m;//每次取模,**(此处被河蟹)再也不用担心我的高精!
if(last==0&&now==1)//根据题目判断
{
printf("%d\n",i-1);//别忘了是第i-1项哦
break;//找到答案,当然跳出
}
}
return 0;
}
别走呀!
根据蒟蒻神仙的推理,还推出了一个并没有啥用的东西:
只要当前这一项是m的倍数,那么一定是要找的答案。
推导过程有点冗长,在这里不加赘述,有兴趣的同学可以跟我探讨哦!
主要是也没必要用到这个呀
求赞,求回复,求关注~
最新文章
- 6Hibernate进阶----青软S2SH(笔记)
- Linux光纖卡配置,磁盤掛載,多路徑設置
- Middleware In ASP.NET Core
- 【BZOJ1002】[FJOI2007]轮状病毒 递推+高精度
- Codeforces 711 D. Directed Roads (DFS判环)
- ags模版与vs
- C#获取CPU等硬件ID(转载)
- TOMCAT 集群之 PERSISTENT SESSION
- springboot +spring security4 +thymeleaf 后台管理系统
- PHPMailer <; 5.2.18 远程代码执行漏洞(CVE-2016-10033)
- Kali学习笔记42:SQL手工注入(4)
- win2012服务器配置ftp
- 使用hibernate报错java.lang.ExceptionInInitializerError的处理方法
- BZOJ3239Discrete Logging——BSGS
- Shell编程(六)awk工具
- 将 Smart 构件发布到 Maven 中央仓库
- kernel中,dump_stack打印调用栈,print_hex_dump打印一片内存,记录一下
- [ Python ] unittest demo
- 20175317 《Java程序设计》第四周学习总结
- U盘上安装Ubuntu系统 便捷式系统 - 赖大大