总贴:第十四届蓝桥杯三月真题刷题训练——第 1 天-CSDN社区
题1、数列求值 - 蓝桥云课 (lanqiao.cn)
题目描述
给定数列 1,1,1,3,5,9,17 从第 4 项开始,每项都是前 3 项的和。
求第 20190324项的最后 4 位数字。
运行限制
最大运行时间:1s
最大运行内存: 128M
为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
解题思路:
从第4项开始、每一位都是前三项的和;
我可以直接 a = 1 , b = 1 , c = 1; sum =a + b + c ;
就像冒泡一样向后推、有因为只要最后四位、所以 % 10000;
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int a = 1;
int b = 1;
int c = 1;
int sum = 0 ;
for(int i = 4 ; i <= 20190324 ; i++){
sum = (a + b + c) % 10000;
a = b % 10000;
b = c % 10000;
c = sum % 10000 ;
}
System.out.println(sum);
scan.close();
}
}
题2、质数 - 蓝桥云课 (lanqiao.cn)
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
我们知道第一个质数是 22、第二个质数是 33、第三个质数是 55……
请你计算第 20192019 个质数是多少?
运行限制
最大运行时间:1s
最大运行内存: 128M
解题思路:
质数? 什么是质数 即 不可以被2以上包含2的数整出!
比如64…… 1-64 2-32 …… 32-2 64-1
所以使用sqrt 8 - 8即可
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int a = 1;
int b = 1;
int c = 1;
int sum = 0 ;
for(int i = 4 ; i <= 20190324 ; i++){
sum = (a + b + c) % 10000;
a = b % 10000;
b = c % 10000;
c = sum % 10000 ;
}
System.out.println(sum);
scan.close();
}
}
睡觉睡觉