【蓝桥杯模拟赛】2026/4/8 斐波那契数列的性质

image

最主要是知道斐波那契数列模m的性质:
斐波那契模 m 的序列是周期性的(皮萨诺周期),最长不超过 6*m
如果一个周期内没找到 a,永远都不会找到

另外,因为斐波那契数列之后会很大,所以list要存模后的数


import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m=sc.nextInt();
        int a=sc.nextInt();

        List<Integer> list=new ArrayList<>();
        list.add(1);
        list.add(1);
        list.add(2);
        boolean flag=false;
        if(1%m==a) System.out.println(1);
        else if(2%m==a) System.out.println(3);
        else{
            for (int i = 3; i < 6*m; i++) {
                list.add((list.get(i-1)+list.get(i-2))%m);
                if(list.get(list.size()-1)==a){
                    System.out.println(i+1);
                    flag=true;
                    break;
                }
            }
        }
        if(!flag)System.out.println(-1);

    }
}
posted @ 2026-04-08 21:24  Jwwind  阅读(6)  评论(0)    收藏  举报