题目:
给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求
第 20190324 项的最后 4 位数字。
思路:
让我想到了斐波那契数,
不知道怎么解斐波那契数列的童鞋看过来:http://www.cxyax.com/?post=179
数据类型装不下这么大的数,直接在运算的时候取余10000得后四位
import java.util.Scanner;
/**
* 题目2:给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求
第 20190324 项的最后 4 位数字。
* @author ah xin
*
*/
public class AMain2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long a1 = 1,a2 = 1,a3 = 1; //给出前三个的值
for(int i = 4; i <= n; i++) {
long a4 = a1;
a1 = a2;
a2 = a3;
a3 = (a4+a1+a2)%10000; //后一位等于前三位和相加,数据类型装不下,所以先取余再装进去
}
System.out.println(a3);
}
}
以上是《蓝桥杯 JAVA第十届C组 真题 给定数列》的全部内容,
感谢您对程序员阿鑫博客的支持!
版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!