蓝桥杯31天冲刺 Day5

猴子分香蕉

链接: 猴子分香蕉.
在这里插入图片描述
根据题意直接写就好了。
但是尤其要注意的是:第5只猴子醒来的时候得有香蕉!!!

代码:

package 题库;

public class 猴子分香蕉 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		float num=5+1;

        boolean flag = true;
        while(flag) {
        	//第一只
        	float n = ((num-1)/5)*4;
        	//第二只
        	n = ((n-2)/5)*4;
        	//第三只
        	n = ((n-3)/5)*4;
        	//第四只
        	n = ((n-4)/5)*4;
        	//第5只
        	if(n%5==0&&n/5>=1.0) {
        		System.out.println(num);
        		flag = false;
        	}
        	num+=1;
        }
	}

}

等差数列

链接: 等差数列.

在这里插入图片描述
这题也比较简单,我们只需找到相邻两项间最小的差再除以max-min的值加一就好了。(也就是说要把数列先排序)

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

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int[] nums = new int[n];
        for (int i = 0; i < nums.length; i++) {
            nums[i] = scan.nextInt();
        }
        Arrays.sort(nums);
        int min = Integer.MAX_VALUE;
        for (int i = 1 ; i < n ;i++){
            if (nums[i] - nums[i - 1] < min){
                min = nums[i] - nums[i - 1];
            }
        }
        if (min == 0){
            System.out.println(n);
            return;
        }
        int res = (nums[n - 1] - nums[0]) / min + 1;
        System.out.println(res);
        scan.close();
    }
}

平方序列

链接: 平方序列.
在这里插入图片描述
根据等差数列公式:a+c = 2b,枚举就可以得出答案了

代码:

import java.math.*;

public class 平方序列 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        boolean flag = true;
        int Y = 2021;
        while(flag) {
        	float x =(float) Math.sqrt((Y*Y+2019*2019)/2);
        	if(x%1==0&&x<Y&&x>2019) {
        		System.out.println(x);
        		System.out.println(Y);
        		System.out.println(x+Y);
        		flag = false;
        	}
        	Y+=1;
        }
	}

}

倍数问题

链接: 倍数问题.
在这里插入图片描述
这题要用到背包,我用dfs跑出来的肯定超时(先放一下bfs代码,巩固完背包问题以后再补上正确代码)

import java.util.*;

public class 倍数问题 {

	public static List<Integer> res = new ArrayList<>();
	public static int res1=0;
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
        	int  n =sc.nextInt();
        	int k  =sc.nextInt();
        	int[] nums = new int[n];
        	for(int i =0;i<n;i++) {
        		nums[i]=sc.nextInt();
        	}
        	Arrays.sort(nums);
        	
        	findNums(nums,n-1,k);

        	System.out.println(res1);
        }
	}
	
	public static void findNums(int[] nums,int index,int k) {
		if(index<0||res.size()>3||res.size()+index<2) {
			return ;
		}
		if(res.size()==3) {
			int sum = res.get(0)+res.get(1)+res.get(2);
			if(sum%k == 0&&sum>res1) {
				res1=sum;
				
				return;
			}
				
		}
		
		for(int i =index;i>=0;i--) {
			res.add(nums[i]);
			findNums(nums,i-1,k);
			res.remove(res.size()-1);
		}
	}

}

### 关于蓝桥杯省赛备考的学习资源与指南 #### 一、蓝桥杯省赛概述 蓝桥杯大赛是一项面向全国高校学生的IT类竞赛活动,其中软件赛主要考察选手的编程能力和算法设计水平。根据赛事规模和影响力来看,它已经成为衡量IT专业学生技术实力的重要标准之一[^5]。 #### 二、核心知识点覆盖范围 为了更好地备战蓝桥杯省赛,考生应重点关注以下几个方面: - **基础知识巩固**:熟练掌握C/C++或Java等主流编程语言的基本语法及其特性。 - **数据结构应用**:深入理解并灵活运用数组、链表、栈、队列、树形结构以及图论等相关概念。 - **经典算法实现**:熟悉排序算法(如快速排序)、查找算法(如二分法),动态规划策略以及其他常见解题思路。 上述内容构成了蓝桥杯比赛中绝大多数题目解答所需的技术支撑体系[^1]。 #### 三、具体学习路径建议 1. 参加系统化培训课程可以帮助初学者快速入门,并逐步提升至较高层次的应用能力。例如观看y总提供的蓝桥杯专题算法视频教程就是一个不错的选择,该系列课程专门针对历年真题中的难点进行了细致讲解[^4]。 2. 加强实际操作经验积累非常重要。除了完成日常课堂作业外,还应该主动寻找更多机会参与各类在线评测平台上的挑战项目,特别是那些基于过往考试案例改编而成的新颖问题集锦[^2]。 3. 定期开展模拟测试环节,在规定时间内独立完成整套试卷练习,以此检验个人综合素养的同时也能发现潜在薄弱之处加以改进[^3]。 ```python # 示例代码展示如何利用Python解决简单数学运算问题 def add_numbers(a, b): return a + b result = add_numbers(5, 7) print(f"The result is {result}") ``` 以上仅为部分示例说明,请依据实际情况调整相应计划安排!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值