首页 > 其他分享 >P05509. 寻找循环节

P05509. 寻找循环节

时间:2023-09-25 18:12:34浏览次数:33  
标签:node temp mp int 寻找 循环 P05509 mod

 

Description
f[1]=1

f[2]=1

f[3]=(f[2]+f[1])%mod

f[i]=(f[i-1]+f[i-2])%mod;

1<mod<=100000

输出循环节长度

某一个起向右进行到某一个止的一节序列出现,首尾衔接,这一节序列称为循环节

Format
Input
mod的值

Output
循环节长度

Samples
输入数据 1
2
输出数据 1
3

提示 1 1 0 1 1 0 所以循环节是3

 

#include<bits/stdc++.h>
using namespace std;
int mod,f[10000010];
struct node
{
int a,b; 
friend bool operator <(node xx,node yy)
{
	      
    if(xx.a==yy.a)
	     return xx.b<yy.b;
    else
	   	return xx.a<yy.a;
    
}//得判全不然map认为两个元素相等 

};
map<node,int> mp;
node temp;
int main() 
{
	cin>>mod;
	mp[{1,1}]=1;
	f[1]=1,f[2]=1;
	for(int i=3;; i++) 
	{
		f[i]=(f[i-1]+f[i-2])%mod;
		temp.a=f[i-1];
		temp.b=f[i];
		if(mp[temp]!=0) 
		{
			cout<<i-mp[temp]-1<<endl;
			return 0;
		}
		mp[temp]=i-1;
	}
}

  

标签:node,temp,mp,int,寻找,循环,P05509,mod
From: https://www.cnblogs.com/cutemush/p/17728519.html

相关文章

  • 5.循环依赖
    循环依赖就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调用。循环调用是无法解决的,除非有终结条件,否则就是死循环,最终导致内存溢出错误。Spring如何解决循环依......
  • python基础 循环嵌套
    嵌套语句使用星号打印foriinrange(1,6):forxinrange(1,i+1):print('*',end='')print('')foriinrange(1,6):forxinrange(i,6):print('*',end='')print('')99乘法表  while......
  • golang 的循环导入
    内容来自对chatgpt的咨询循环导入概念在Go语言中,循环导入是一个需要避免的问题。它发生在两个或更多的包彼此导入对方,形成一个导入循环,导致编译器无法处理。例如,假设你有两个包,包A和包B。包A导入了包B,然后包B又导入了包A,这就形成了一个循环导入。在这种情况下,编译器将无法......
  • 【算法】循环不变式
    循环不变式一、数学归纳法因为循环不变式的定义与数学归纳法类似,所以我们先来看看数学归纳法。我们首先从高中开始回忆起,有关于数列的数学归纳法。一般的,证明一个与正整数\(n\)有关的命题,可以分为以下两个步骤[1]:1.归纳奠基:证明当\(n=n_0(n_0\inN^*)\)时,命题成立。2......
  • labview中for循环用法
    说明:记录一下自己用到的和知道的for用法。 1、基本概念for循环位置:程序面板-编程-结构-for循环for的作用:可以使for循环体内的代码执行一定的次数。这文本语言类似。for重要参数:N表示循环总数,可输入可输出,都表示循环总数。            i表示当前循......
  • python基础 while,for循环
    whlie循环格式while结束条件:执行语句break结束if条件:break小游戏案例猜拳小游戏importrandomren=0ji=0print('-'*12+'欢迎玩猜拳小游戏'+'-'*12)print('本游戏实行三拳两胜制')n=0whilen<3:ran=random.randint(0,2)guess......
  • Lua08——Lua循环
    有时需要进行规律性的重复操作,需要用到程序中的循环语句。循环语句是由循环体及循环的终止条件两部分组成。循环语句是在一定条件下反复执行一段程序的流程结构,被反复执行的程序称为循环体。循环是否结束,取决于循环的终止条件。1Lua中的循环方式循环类型描述while在条件为true时......
  • Android程序员35岁的职业出路:寻找新的舞台
    前言转眼间已经到了奔四的年纪,岁月匆匆,时光荏苒,转眼间已经在Android行业干了8年,当前项目组也陆陆续续进入了不少00后,80后已经不见踪影,90后正在逐渐淡出,而我,也要开始迎接程序员35岁这个坎,心里还是想要继续做技术这条路,但是也给自己思索了一些转行之路,在此跟大家交流交流。为什么35岁......
  • 11-JavaScript 逻辑条件 ,if判断 ,while循环,算数运算相关的案例演示
    1、案例:猜数字设置一个1-10之间的随机数,然后输入进行猜数字,猜的大了怎么样、猜的小了怎么样、猜对了怎么样知识点:设置随机数、if判断、while循环写题思路:1.设置弹框提出问题2.定义一个随机数0-10的数组3.if判断取值的范围,在其范围内反馈的结果4.while循环,直到猜对停止......
  • python 循环 import模块
    关于循环while条件:当条件为true时,不断执行子代码foriinrange(20):循环20次子代码break结束当前循环continue跳过当前循环importrandom模块random.choice()随机一个参数random.sample(数据源,3)从数据源中随机抽3个值random.randint(1,100)打印一个随机数......