【第五天】蓝桥杯备战

1、金币

https://www.lanqiao.cn/problems/357/learning/
【第五天】蓝桥杯备战_第1张图片
【第五天】蓝桥杯备战_第2张图片
解法:暴力

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

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        int k = scan.nextInt();
        int count = 1;
        int sum = 0;
        while(k > 0) {
          for(int i = 0; i < count ; i++) {
            if(k > 0) {
              sum += count;
              k--;
            }
          }
          count++;
        }
        scan.close();
        System.out.println(sum);
    }
}

注意:要在for循环里面判断k是否还大于0,因为数字大了,k减着减着就可能不满足> 0 的条件了

2、天干地支

https://www.lanqiao.cn/problems/1029/learning/
【第五天】蓝桥杯备战_第3张图片
【第五天】蓝桥杯备战_第4张图片

解法:

十天干:甲乙丙丁戊己庚辛壬癸,顺序对应0到9十位数。
十二地支:子丑寅卯辰巳午未申酉戌亥,对应数字是0-11。
我们以2022年为例。公元年数先减三;就是2022减去3等于2019。除10余数是天干,就是2019除以10,余数是9.天干里第九位是壬。
然后基数改用十二除,就是说2022减3等于2019,2019除以12,余数是3。十二地支里第三位是寅。

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt() - 3;
        String[] tiangan = { "", "jia", "yi", "bing", "ding", "wu", "ji", "geng", "xin", "ren", "gui" };
        String[] dizhi = { "", "zi", "chou", "yin", "mao", "chen", "si", "wu", "wei", "shen", "you", "xu", "hai" };
        String str = "";
        // 天干
        if (n % 10 == 0) {
            str += tiangan[tiangan.length - 1];
        } else {
            str += tiangan[n % 10];
        }
        // 地支
        if (n % 12 == 0) {
            str += dizhi[dizhi.length - 1];
        } else {
            str += dizhi[n % 12];
        }
        System.out.println(str);
    }
}

你可能感兴趣的:(蓝桥杯备战刷题,蓝桥杯,java,职场和发展,算法)