第一题:外星日历
题目描述
某星系深处发现了文明遗迹。
他们的计数也是用十进制。
他们的文明也有日历。日历只有天数,没有年、月的概念。
有趣的是,他们也使用了类似“星期”的概念,
只不过他们的一个星期包含了9天,
为了方便,这里分别记为: A,B,C…H,I
从一些资料上看到,
他们的23日是星期E
他们的190日是星期A
他们的343251日是星期I
令人兴奋的是,他们居然也预见了“世界末日”的那天,
当然是一个很大很大的数字
651764141421415346185
请你计算一下,这遥远的一天是该文明的星期几?
你需要提交的是一个大写字母,表示该文明的星期几,
不要填写任何多余的内容。
import java.math.BigInteger;
public class 外星日历 {
/**
* 651764141421415346185
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//方法一:
String a = "651764141421415346185";
char st[]={'I','A','B','C','D','E','F','G','H'};
//用于储存余数和
int sum = 0;
for (int i = 0; i <a.length(); i++) {
int num = a.charAt(i)-48;
sum+=num%9; //累加余数和
}
int mo = sum%9; //余数和求模
System.out.println(st[mo]);
//方法二:
BigInteger m = new BigInteger("651764141421415346185");
BigInteger n = new BigInteger("9");
BigInteger s = m.mod(n);
for(int i=0;i<st.length;i++){
//biginteger转化为int进行判断
if(i==s.intValue()){
System.out.println(st[i]);
}
}
}
}
本文介绍了一种计算外星文明中特殊星期系统的方法,通过分析给出的日期与对应的星期,利用数学运算找到规律,最终确定了一个极大数值所对应的星期。
4489

被折叠的 条评论
为什么被折叠?



