–> 因为这里是结果填空题,我们直接暴力用java自带的BigInteger类。
/**
* 试题 A: 星期计算
*
* 本题总分:5 分
* 【问题描述】
* 已知今天是星期六,请问20的22次方天后是星期几?
* 注意用数字 1 到 7 表示星期一到星期日。
*
* 【答案提交】
* 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
* 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
* 答案:7
*/
//因为是结果填空题,不需要考虑运行时间,直接用BigInteger类
//这里BigInteger的构造方法只允许传字符串
BigInteger bi = new BigInteger("20");
//20的22次的计算结果
BigInteger res = new BigInteger("1");
for(int i = 0;i < 22;i++) { //乘以22次
//BigInteger是一个类 加减乘除和取模等运算是调用BigInteger的方法
res = res.multiply(bi);
//这里确保答案准确可一将每次*20后的结果输出
System.out.println(i+1 + "次方的结果: "+res.toString());
}
System.out.println("==================");
System.out.println(res.toString());
System.out.println("==================");
BigInteger mo = new BigInteger("7");
//一周7天 将res%7
res = res.remainder(mo);
//计算出是1 然后在周六的基础上+1 这道题的答案就是7
System.out.println(res.toString());
答案为 7