zl程序教程

您现在的位置是:首页 >  其他

当前栏目

第十四届蓝桥杯三月真题刷题训练——第 1 天

训练 蓝桥 刷题 真题 第十四届 三月
2023-09-27 14:27:53 时间

目录

题目1:数列求值

代码:

题目2:质数

代码:

题目3:饮料换购

代码:


题目1:数列求值

题目描述

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

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

求第 2019032420190324 项的最后 44 位数字。

运行限制

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

代码:

package 第十四届蓝桥杯三月真题刷题训练.第一天;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;

/**
 * @author yx
 * @date 2023-03-04 17:41
 */
public class 数列求值 {
    static PrintWriter out =new PrintWriter(System.out);
    static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in=new StreamTokenizer(ins);
    /**
     * 输入
     * in.nextToken()
     * int a= (int)in.nval;
     *
     * 输出
     * out.print();
     * out.flush();
     */
    public static void main(String[] args) {
        int a=1;
        int b=1;
        int c=1;
        int d=0;
        for (int i = 3; i < 20190324; i++) {
            d=(a+b+c)%10000;//只需要最后四位数字
            //更新数字
            a=b;
            b=c;
            c=d;
        }
        System.out.println(d);
    }
}

题目2:质数

题目描述

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

我们知道第一个质数是 22、第二个质数是 33、第三个质数是 55……

请你计算第 20192019 个质数是多少?

运行限制

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

代码:

package 第十四届蓝桥杯三月真题刷题训练.第一天;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;

/**
 * @author yx
 * @date 2023-03-04 17:54
 */
public class 质数 {
    static PrintWriter out =new PrintWriter(System.out);
    static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in=new StreamTokenizer(ins);
    /**
     * 输入
     * in.nextToken()
     * int a= (int)in.nval;
     *
     * 输出
     * out.print();
     * out.flush();
     */
    public static void main(String[] args) {
        int count=0;
        int number=1;
        while (count<2019){
            number++;
            if(isPrime(number)){
                count++;
            }
        }
        System.out.println(number);
    }
    static boolean isPrime(int n){
            for (int i = 2; i <= Math.sqrt(n) ; i++) {
                if(n%i==0){
                    return false;
                }
            }
            return true;
        }
}

题目3:饮料换购

题目描述

乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊 C 型饮料,凭 3 个瓶盖可以再换一瓶 C 型饮料,并且可以一直循环下去(但不允许暂借或赊账)。

请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。

输入描述

输入一个整数 n(0<n<1000)n(0<n<1000),表示开始购买的饮料数量。

输出描述

输出一个整数,表示实际得到的饮料数

输入输出样例

示例

输入

100

输出

149

运行限制

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

代码:

package 第十四届蓝桥杯三月真题刷题训练.第一天;

import java.io.*;

/**
 * @author yx
 * @date 2023-03-04 17:59
 */
public class 饮料换购 {
    static PrintWriter out =new PrintWriter(System.out);
    static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in=new StreamTokenizer(ins);
    /**
     * 输入
     * in.nextToken()
     * int a= (int)in.nval;
     *
     * 输出
     * out.print();
     * out.flush();
     */
    public static void main(String[] args) throws IOException {
        in.nextToken();
        int n=(int) in.nval;
        int temp=n;
        while (temp/3!=0){//当剩下的瓶子不能再换购新的瓶子时退出
            n+=(temp/3);//更新瓶子总数
            temp=(temp/3+temp%3);//新的瓶子数量
        }
        out.println(n);
        out.flush();
    }
}