蓝桥杯练习第四天

题目1

代码:

package day4;

import java.util.Arrays;
import java.util.Scanner;

public class day4_test1 {
    public static void merge(int[] nums1, int m, int[] nums2, int n) {
        for(int i =0;i<n;i++){
            if(m - n + i < m){
                nums1[m + i] =  nums2[i];
            }
        }
        Arrays.sort(nums1);
        System.out.println(Arrays.toString(nums1));
    }
    public static void main(String[] args) {
        int[] nums1 = {1,2,3,0,0,0};
        int[] nums2 = {2,5,6};
        int[] nums3 = {0};
        int[] nums4 = {1};
        merge(nums1,3,nums2,3);
        merge(nums3,0,nums4,1);

        Scanner sc= new Scanner(System.in);
        long l = sc.nextLong();
    }
}

运行截图:

题目2

代码:

确实不会

运行截图:

题目3

代码:

package day4;

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

public class day4_test3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<Integer> li =new ArrayList<>();
        int num = 10000;
        int n = sc.nextInt();
        for(int i =0;i<20190324;i++){
            if(i < 3){
                li.add(1);
            }
            else{
                li.add((li.get(0)+li.get(1)+li.get(2)) % num);
                li.remove(0);
            }
        }

        System.out.println(li.get(li.size()-1));
        sc.close();
    }
}

运行截图:

题目4

代码:

package day4;

public class day4_test4 {
    public static boolean isZhiShu(int num){
        for(int i=2;i<num;i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
    public static void main(String[] args) {
        int index = 0;
        int num =2;
        while (index<2019){
            if(isZhiShu(num)){
                index++;
            }
            if(index<2019){
                num++;
            }
        }
        System.out.println(num);

    }
}

运行截图:

题目5

代码:

package day4;

import java.util.Scanner;
public class day4_test5 {

//    小明手里有n瓶饮料,意味着他手里有n个瓶盖,我用drinkNum记录小明喝的饮料数量,drinkNum = n,瓶盖数:pg_num = n
//    而这n个瓶盖又可以换取 pg_num / 3 个瓶盖,此时瓶盖数 pg_num = pg_num % 3 + pg_num / 3(瓶盖来源:上一次剩下来的,这二次换饮料得来的)
//    drinkNum = drinkNum + pg_num/3(饮料来源:前面喝的 + 这次又换来的,换来的饮料数目主要取决上一次于瓶盖的数目)
//    同理,小明继续用瓶盖换取饮料, pg_num = pg_num % 3 + pg_num / 3,drinkNum = drinkNum + pg_num / 3
//    什么时候小明的瓶盖数pg_num<3的时候,小明就喝不得了
public static int solute(int num){
    int drinkNum = num;
    int pg_num = num;

    while(pg_num >= 3){
        drinkNum = drinkNum + pg_num / 3;
        pg_num = pg_num % 3 + pg_num / 3;
    }
    return drinkNum;
}
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("你手里有多少瓶饮料呢?");
        int num = scan.nextInt();
        System.out.println(solute(num));
    }
}

运行截图:

猜你喜欢

转载自blog.csdn.net/m0_63911789/article/details/129333727