第六届蓝桥杯JavaB组省赛真题

这篇博客包含了第六届蓝桥杯JavaB组省赛的多个编程题目,涉及数学计算、逻辑推理和字符串处理等,要求选手填写正确答案,不包含多余内容。题目包括:三角形面积计算、立方数特性、汉字数字解密、算术变换、扑克牌组合计数、饮料换购策略、稳定骰子垒法和生命之树节点评分问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论

题目1、三角形面积

题目描述
如图1所示。图中的所有小方格面积都是1。
那么,图中的三角形面积应该是多少呢?

请填写三角形的面积。不要填写任何多余内容或说明性文字。

在这里插入图片描述

28
简单的数学平面几何问题:
大正方形面积-三个三角形面积 = 最终结果
题目2、立方变自身

题目描述
观察下面的现象,某个数字的立方,按位累加仍然等于自身。
1^3 = 1
8^3 = 512 5+1+2=8
17^3 = 4913 4+9+1+3=17

请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?

请填写该数字,不要填写任何多余的内容或说明性的文字。

结果:6

public class Main {
    
    //暴力枚举,轻易可知,当n > 100时,一定没有符合题意正整数,原因:100^3共7位置,7*9<100,依次类推
    
    
    public static void main(String[] args) {
        int count = 0;
        for(long i = 1;i <= 100000;i++) {  //此处使用较大数据检测猜测
            long temp = i * i * i;
            long temp1 = 0;
            while(temp > 0) {
                temp1 += (temp % 10);
                temp = temp / 10;
            }
            if(i == temp1) {
                System.out.println("i = "+i+", i^3 = "+(i*i*i));
                count++;
            }
        }
        System.out.println(count);
    }
}
题目3、三羊献瑞

题目描述
观察下面的加法算式:

  祥 瑞 生 辉
  • 三 羊 献 瑞

三 羊 生 瑞 气

(如果有对齐问题,可以参看【图1.jpg】)

其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。

请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
在这里插入图片描述

结果:1085

import java.util.Arrays;

public class Main {
    
    public static boolean judge(int[] A) {
        int[] tempA = new int[A.length];
        for(int i = 0;i < A.length;i++)
            tempA[i] = A[i];
        Arrays.sort(tempA);   //对tempA元素进行从小到大排序
        for(int i = 1;i < tempA.length;i++) {
            if(tempA[i - 1] == tempA[i])
                return false;
        }
        return true;
        
    }
    
    public static boolean judge1(int[] A, int[] B) {
        int[] temp = new int[A.length + B.length - 1];
        int i = 0;
        for(;i < A.length;i++)
            temp[i] = A[i];
        for(;i < temp.length;i++)
            temp[i] = B[i - A.length];
        Arrays.sort(temp);
        for(i = 1;i < temp.length;i++) {
            if(temp[i - 1] == temp[i])
                return false;
        }
        return true;
    }
    
    
    public static void main(String[] args) {
        for(int i = 1000;i <= 9999;i++) {
            int[] A = new int[4];
            A[0] = i / 1000;
            A[1] = i / 100 % 10;
            A[2] = i / 10 % 10;
            A[3] = i % 10;
            if(judge(A) == false)
                continue;
            for(int j = 1000;j <= 9999;j++) {
                int[] B = new int[4];
                B[0] = j / 1000;
                B[1] = j / 100 % 10;
                B[2] = j / 10 % 10;
                B[3] = j % 10;
                if(judge(B) == false)
                    co
### 关于第十二届蓝桥杯Java B 对于希望了解或参与第十二届蓝桥杯Java B的情况,虽然具体题目和官方解析文档未直接提及[^1],可以基于以往事的特点来推测该届比的内容结构。 #### 比概述 蓝桥杯全国软件和信息技术专业人才大是一项面向大学生的编程竞活动。每年的比都会设置不同难度级别的题目供参者挑战。针对Java B而言,通常涉及算法设计、数据结构应用以及程序逻辑优化等方面的知识点测试。 #### 题目类型预测 根据往年的模式,预计第十二届蓝桥杯Java B也会包含如下几类典型问题: - **基础算法题**:考察基本的数据处理能力和常见算法的应用能力。 - **动态规划与递推关系构建**:这类题目往往需要选手能够识别并建立有效的状态转移方程来进行求解。 - **图论模型构建**:涉及到网络流、最短路径等问题背景下的解决方案寻找。 - **字符串操作技巧**:包括但不限于正则表达式的运用、高效匹配方法的选择等。 为了更好地准备此类竞,建议深入学习上述知识点,并通过练习历年真题加深理解。此外,还可以关注官方发布的最新通知获取更多关于特定年度比的具体信息。 ```java // 示例代码片段用于说明如何解决某类经典问题之一——最大子数和问题 public class MaxSubArray { public static int maxSubArray(int[] nums) { if (nums == null || nums.length == 0) return 0; int currentSum = nums[0]; int maxSum = nums[0]; for (int i = 1; i < nums.length; ++i){ currentSum = Math.max(nums[i], currentSum + nums[i]); maxSum = Math.max(maxSum, currentSum); } return maxSum; } } ```
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值