第十五届蓝桥杯Java大学b组(解)

1.报数游戏

思路:

第1-10个: 20 24 40 48 60 72 80 96 100 120

第11-20个:140 144 160 168 180 192 200 216 220 240

第21-30个:260 264 280 288 300 312 320 336 340 360

第31-40个:380 384 400 408 420 432 440 456 460 480

思路一:发现第10个数,第20个数,第30个数,第40个数......(每十个数为一轮)等等都是120的倍数,既然题目要求第202420242024个数,那我们不妨先求第202420242020个数,然后再往后再多求4个数就行。

也就是202420242020/10*120=202429042904240,找它之后的四个能被20或24整除的数,也就是2429042904288

思路二:通过观察发现,第奇数位个数是20的倍数,第偶数位个数是24的倍数。所以第202420242024个数就是24的倍数,那我们直接除以2(判断是这个数是第几个24的倍数),然后再成24就行。也就是202420242024÷2×24=2429042904288

代码:

java 复制代码
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Long n = 202420242024L;
        Long result = 202420242024L/2*24;
        System.out.println(result);

    }
}

2.类斐波那契循环数

思路:

对于0--10的七次方的数,可以枚举每一个数,是否符合类斐波那契循环数 ,并找出最大的数

代码

java 复制代码
package 十五届.Java;

import java.util.Scanner;


public class 斐波那契 {
    public static boolean lf(int a)
    {
        String str=String.valueOf(a);
        int b =str.length();//s为位数
        int [] arr = new int[b];
        for(int i=0;i<b;i++)
        {
            arr[i]=str.charAt(i)-'0';   //取出每一个数字
        }

        while(arr[b-1]<a)   //循环直到找到答案,。查出的数字小于本身
        {
            int n=0;
            for(int i=0;i<b;i++)//计算新值,数组值前移
            {
                n+=arr[i];
                if(i<b-1)//限制条件
                {
                    arr[i]=arr[i+1];
                }
                if(i==b-1)
                {
                    arr[i]=n;
                }
            }
            if(n==a)
            {
                return true;
            }
        }
        return false;
    }
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        int answer=0;
        for(int i=10;i<=10000000;i++)
        {
            if(lf(i))
            {
                answer=i;
            }
        }
        System.out.println(answer);
        scan.close();
    }
}

分布式队列

思路:

代码:

相关推荐
LYFlied3 小时前
【每日算法】LeetCode 84. 柱状图中最大的矩形
前端·算法·leetcode·面试·职场和发展
zwjapple4 小时前
全栈开发面试高频算法题
算法·面试·职场和发展
iAkuya4 小时前
(leetcode)力扣100 14合并区间(差分/排序)
算法·leetcode·职场和发展
月明长歌7 小时前
【码道初阶】【LeetCode 102】二叉树层序遍历:如何利用队列实现“一层一层切蛋糕”?
java·数据结构·算法·leetcode·职场和发展·队列
yaoh.wang7 小时前
力扣(LeetCode) 66: 加一 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·跳槽
wanderist.8 小时前
2025年蓝桥杯省赛C++大学A组
c++·算法·蓝桥杯
小南家的青蛙8 小时前
LeetCode第2658题 - 网格图中鱼的最大数目
算法·leetcode·职场和发展
测试人社区-千羽9 小时前
AR/VR应用测试核心要点与实施策略
人工智能·安全·职场和发展·自动驾驶·测试用例·ar·vr
夏鹏今天学习了吗10 小时前
【LeetCode热题100(73/100)】买卖股票的最佳时机
算法·leetcode·职场和发展
HY小宝F11 小时前
软件开发的两面镜子:效率陷阱与质量盲区的深度思考
职场和发展