–> 因为这里是结果填空题,我们直接暴力用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%7res = res.remainder(mo);//计算出是1 然后在周六的基础上+1 这道题的答案就是7System.out.println(res.toString());
答案为 7