解题思路:因为3的2000所以用大整形来计算

注意事项:

参考代码:

package test;

import java.math.BigInteger;

//求当前的星期的a的b次方是星期几

import java.util.Scanner;

public class foundWeek {

public static void main(String[] args) {

int a,b;//输入a,b的值

Scanner sc=new Scanner(System.in);

a=sc.nextInt();

b=sc.nextInt();

String str=Integer.toString(a);//因为BIgInteger中设置的为字符串所以将输入的a转换为字符串

BigInteger temp = new BigInteger("7");//设置一个7在后面会用来进行%使用

BigInteger base = new BigInteger(str); // 基数

int exponent = b; // 指数  

BigInteger result = base.pow(exponent); // 计算次方  

BigInteger c =result.remainder(temp);//求a的b次方%7的值

// System.out.println(c); // 输出结果

BigInteger temp1 = new BigInteger("1");//设置一个周每天的变量

BigInteger temp2 = new BigInteger("2");

BigInteger temp3 = new BigInteger("3");

BigInteger temp4 = new BigInteger("4");

BigInteger temp5= new BigInteger("5");

BigInteger temp6 = new BigInteger("6");

BigInteger temp7= new BigInteger("7");

if(c.equals(temp1))//用BIgInteger的equals来判断求出的结果与周几匹配

        System.out.print("Monday");

if(c.equals(temp2))

        System.out.print("Tuesday");

if(c.equals(temp3))

        System.out.print("Wednesday");

if(c.equals(temp4))

        System.out.print("Thursday");

if(c.equals(temp5))

        System.out.print("Friday");

if(c.equals(temp6))

        System.out.print("Saturday");

if(c.equals(temp7))

        System.out.print("Sunday");

}

}



点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论