题目:
某星系深处发现了文明遗迹。
他们的计数也是用十进制。
他们的文明也有日历。日历只有天数,没有年、月的概念。
有趣的是,他们也使用了类似“星期”的概念,
只不过他们的一个星期包含了9天,
为了方便,这里分别记为: A,B,C....H,I
从一些资料上看到,
他们的23日是星期E
他们的190日是星期A
他们的343251日是星期I
令人兴奋的是,他们居然也预见了“世界末日”的那天,
当然是一个很大很大的数字
651764141421415346185
请你计算一下,这遥远的一天是该文明的星期几?
你需要提交的是一个大写字母,表示该文明的星期几,
不要填写任何多余的内容。
分析:
首先我们进行分析,我们直到23日星期E,那么23-(2*9)还是星期E,5是星期E分别往前推,那么我们就可以分析得出数字1是星期A。
首先我们需要对题目给出的6517.........求余除以9,得出的数字转为int,然后从A开始到I那么我们‘A’加上余数,再加上1(为什么加上1呢,因为从A开始A本身就是数字1,如果从A前面的数字开始还要查前面的数字是什么,那还不如直接减去1)到最后转为char(字母形式)
步骤:
package 历届真题省赛阶段;
import java.math.BigInteger;
public class 外星日历8届1题 {
public static void main(String[] args) {
BigInteger x = new BigInteger("651764141421415346185");
BigInteger y = x.mod(new BigInteger("9"));
int mod = y.intValue();
System.out.println((char) ('A' + mod - 1));
}
}