0
点赞
收藏
分享

微信扫一扫

蓝桥杯2017省赛——外星日历(Java)

问题描述:

某星系深处发现了文明遗迹。

他们的计数也是用十进制。
他们的文明也有日历。日历只有天数,没有年、月的概念。
有趣的是,他们也使用了类似“星期”的概念,
只不过他们的一个星期包含了9天,
为了方便,这里分别记为: A,B,C…H,I

从一些资料上看到,
他们的23日是星期E
他们的190日是星期A
他们的343251日是星期I

令人兴奋的是,他们居然也预见了“世界末日”的那天,
当然是一个很大很大的数字 651764141421415346185

请你计算一下,这遥远的一天是该文明的星期几?


代码:

import java.math.BigInteger;
        import java.util.Scanner;

public class Main {
    public static void main(String[] args) {


        char [] a={'I','A','B','C','D','E','F','G','H'};
        BigInteger b1=new BigInteger("651764141421415346185");
        BigInteger b2=new BigInteger("9");
        BigInteger yu=b1.mod(b2);
        for (int i = 0; i < a.length; i++) {
            if(i==yu.intValue()){     //Integer对象类型变成int的基础数据类型
                System.out.println(a[i]);
            }

        }
    }
}

改编题目:

令人兴奋的是,他们居然也预见了“世界末日”的那天,
当然是一个很大很大的数字 N

请你计算一下,这遥远的一天是该文明的星期几?

输入
输入一个整数N。(N为一个100位以内的整数)

输出
输出一个大写的英文字母,代表N日位星期几。

样例
输入
23
输出
E
输入
190
输出
A
输入
343251
输出
I


代码:

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner rd=new Scanner(System.in);
        char [] a={'I','A','B','C','D','E','F','G','H'};

        String b=rd.next();
        BigInteger b1=new BigInteger(b);
        BigInteger b2=new BigInteger("9");
        BigInteger yu=b1.mod(b2);
        for (int i = 0; i < a.length; i++) {
            if(i==yu.intValue()){
                System.out.println(a[i]);
            }

        }
    }
}

举报

相关推荐

0 条评论