0
点赞
收藏
分享

微信扫一扫

蓝桥杯_数列求值_java

Resin_Wu 2022-04-02 阅读 80

数列求值

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

给定数列 1, 1, 1, 3, 5, 9, 17,⋯,从第 4 项开始,每项都是前 3 项的和。

求第 20190324 项的最后 4 位数字。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

记录题解

不会写,看题解区大佬写的

package com.xiang.lanqiao;

/**
 * @author snape
 * @create 2022-02-08 19:00
 */
public class TheSequence {

    /**
     * 20190324 这个数过于庞大 无论是递归还是迭代 程序都无法正常运行,
     * 而且int、long、BigDecimal等都无法承载这么大的数
     * 题目要求我们只取最后四位,
     * 那我们可以对每次运算出来的结果 %10000 这样每次结果就都保留最后四位数字
     *
     * @param args
     */
    public static void main(String[] args) {
        int o = 0,p = 1,q = 1,r = 1;
        for (int i = 4; i <= 20190324; i++) {
            o = p;
            p = q;
            q = r;
            r = (p+q+o)%10000;//4659
        }
        System.out.println(r);

    }

}

举报

相关推荐

0 条评论