标题:外星日历
某星系深处发现了文明遗迹。
他们的计数也是用十进制。
他们的文明也有日历。日历只有天数,没有年、月的概念。
有趣的是,他们也使用了类似“星期”的概念,
只不过他们的一个星期包含了9天,
为了方便,这里分别记为: A,B,C....H,I
从一些资料上看到,
他们的23日是星期E
他们的190日是星期A
他们的343251日是星期I
令人兴奋的是,他们居然也预见了“世界末日”的那天,
当然是一个很大很大的数字
651764141421415346185
请你计算一下,这遥远的一天是该文明的星期几?
你需要提交的是一个大写字母,表示该文明的星期几,
某星系深处发现了文明遗迹。
他们的计数也是用十进制。
他们的文明也有日历。日历只有天数,没有年、月的概念。
有趣的是,他们也使用了类似“星期”的概念,
只不过他们的一个星期包含了9天,
为了方便,这里分别记为: A,B,C....H,I
从一些资料上看到,
他们的23日是星期E
他们的190日是星期A
他们的343251日是星期I
令人兴奋的是,他们居然也预见了“世界末日”的那天,
当然是一个很大很大的数字
651764141421415346185
请你计算一下,这遥远的一天是该文明的星期几?
你需要提交的是一个大写字母,表示该文明的星期几,
不要填写任何多余的内容。
结果:
G
思路:
其实这道题只需要使用电脑的计算器就行了。。(简单点)。。
打开计算器,查看,科学型,把651764141421415346185复制上去,再除以9,结果为72418237935712816242.77777777777。
余数的数值代表着结果:1:A, 2:B, 3:C, 4:D, 5:E, 6:F, 7:G, 8:H, 0:I
代码如下:(可以使用BigInteger操作大整数)
import java.util.*;
import java.math.*;
public class Main {
public static void main(String[] args) {
char[] c = {'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<c.length;i++){
if(i==yu.intValue()){
System.out.println(c[i]);
}
}
}
}