第十届蓝桥杯A组

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YiLi_world/article/details/88785708

试题 A: 平方和

本题总分:5 分

【问题描述】
小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574,平方和是 14362。注意,平方和是指将每个数分别平方后求和。
请问,在 1 到 2019 中,所有这样的数的平方和是多少?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
提示:如果你编写程序计算,发现结果是负的,请仔细检查自己的程序, 不要怀疑考场的编程软件。

真的是一到场上就蒙圈,感觉特别简单 就是脑子一片浆糊哭在这里插入图片描述


public class Main1 {
    static boolean isIn(int num) {
        String temp = "" + num;
        char[] arr = temp.toCharArray();
        for(int i = 0; i < temp.length(); i++)
            if(arr[i] == '0' || arr[i] == '1' || arr[i] == '2' || arr[i] == '9') return true;
        return false;
    }
    public static void main(String[] args) {
        long ans = 0;
        for(int i = 1; i <= 2019; i++) if(isIn(i)) ans += i*i;
        System.out.println(ans);
    }
}

试题 B: 数列求值

本题总分:5 分

【问题描述】
给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求
第 20190324 项的最后 4 位数字。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个 4 位整数(提示:答案的千位不为 0),在提交答案时只填写这个整数,填写多余的内容将无法得分。

更是凉凉,第一次参加这种比赛,这里花好久还是想出来了用模运算,结果不知道是把20190324输入错了还是哪出问题了,好像算成了6943,而且自己还把输出放在了循环里头真是服了自己,运行好久才出的结果。


import java.util.Scanner;

public class Main2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int n = scanner.nextInt();
            long a=1,b=1,c=1,d=0;
            for (int i = 4; i <= n; i++) {
                d=(a+b+c)%10000;
                a=b;
                b=c;
                c=d;
                
            }
			System.out.println(d);
        }
    }
}

试题 H: 修改数组

时间限制: 1.0s 内存限制: 256.0MB 本题总分:20 分

【问题描述】
给定一个长度为 N 的数组 A = [A1, A2, · · · AN],数组中有可能有重复出现的整数。
现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改
A2, A3, · · · , AN。
当修改 Ai 时,小明会检查 Ai 是否在 A1 ∼ Ai−1 中出现过。如果出现过,则小明会给 Ai 加上 1 ;如果新的 Ai 仍在之前出现过,小明会持续给 Ai 加 1 ,直到 Ai 没有在 A1 ∼ Ai−1 中出现过。
当 AN 也经过上述修改之后,显然 A 数组中就没有重复的整数了。现在给定初始的 A 数组,请你计算出最终的 A 数组。
【输入格式】
第一行包含一个整数 N。
第二行包含 N 个整数 A1, A2, · · · , AN 。
【输出格式】
输出 N 个整数,依次是最终的 A1, A2, · · · , AN。
【样例输入】
5
2 1 1 3 4

【样例输出】
2 1 3 4 5

【评测用例规模与约定】
对于 80% 的评测用例,1 ≤ N ≤ 10000。
对于所有评测用例,1 ≤ N ≤ 100000,1 ≤ Ai ≤ 1000000。

试题 I: 糖果#

时间限制: 1.0s 内存限制: 256.0MB 本题总分:25 分

此题还没搞懂哪里不对o(╥﹏╥)o

import java.util.ArrayList;
import java.util.Scanner;

public class Main3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int n = scanner.nextInt();
            int [] nums=new int[n];
            ArrayList list=new ArrayList();
            for (int i = 0; i < n; i++) {
                nums[i]=scanner.nextInt();
            }
            for (int k=0; k<n; k++){
                if (!list.contains(nums[k])){
                    list.add(nums[k]);
                }
                else {
                    list.add(nums[k]+1);
                }
            }
            System.out.println(list);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/YiLi_world/article/details/88785708