蓝桥杯2020年第十一届JavaB组真题题目+解析+代码+答案:7.八次求和
程序员文章站
2022-12-12 15:51:54
不要自卑,去提升实力互联网行业谁技术牛谁是爹如果文章可以带给你能量,那是最好的事!请相信自己加油o~ 点击下面链接蓝桥杯历届真题题目+解析+代码+答案(2013-2020)(JavaA、B、C组)问题描述:【问题描述】给定正整数 n, 求 1^8 + 2^8 +···+ n^8 mod 123456789 。其中 mod 表示取余。【输入格式】输入的第一行包含一个整数 n。【输出格式】输出一行,包含一个整数,表示答案。【样例输入】2【样例输出】257【样例输入】9.....
不要自卑,去提升实力
互联网行业谁技术牛谁是爹
如果文章可以带给你能量,那是最好的事!请相信自己
加油o~
点击下面链接
蓝桥杯历届真题题目+解析+代码+答案(2013-2020)(JavaA、B、C组)
问题描述:
【问题描述】
给定正整数 n, 求 1^8 + 2^8 +···+ n^8 mod 123456789 。其中 mod 表示取余。
【输入格式】
输入的第一行包含一个整数 n。
【输出格式】
输出一行,包含一个整数,表示答案。
【样例输入】
2
【样例输出】
257
【样例输入】
987654
【样例输出】
43636805
【评测用例规模与约定】
对于 20% 的评测用例,1≤n≤20。
对于 60% 的评测用例,1≤n≤1000。
对于所有评测用例,1≤n≤1000000。
解题思路:
> 本题可以调用BigInteger.pow()求幂数,如果用Math包里面的pow()可能会溢出,不好处理
> 其余的没什么技术水平
代码:
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
BigInteger sum=BigInteger.ZERO;
int n=sc.nextInt();
for(int i=1;i<=n;i++) {
BigInteger b=BigInteger.ONE;
sum=sum.add(new BigInteger(i+"").pow(8));
}
System.out.println(sum.mod(new BigInteger("123456789")));
}
}
本文地址:https://blog.csdn.net/m0_47256162/article/details/110496035