JAVA 蓝桥杯 八次求和省赛真题

7. 八次求和(20分)

问题描述
给定正整数 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。

import java.math.BigInteger;
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		BigInteger Bigmod = BigInteger.valueOf(123456789);
		BigInteger Bigsum = BigInteger.valueOf(0);
		int n=sc.nextInt();
		for(int i=1;i<=n;i++){
			BigInteger c =  BigInteger.valueOf(i);
			Bigsum=Bigsum.add(c.multiply(c).multiply(c).multiply(c).multiply(c)
					.multiply(c).multiply(c).multiply(c));
		}
		BigInteger sum = Bigsum.mod(Bigmod);
		System.out.println(sum);
	}
} 
熟练使用BigInteger各种方法

 

上一篇:算法入门经典P126(BigInteger+,<,>,<=,>=,!=,==,+=)


下一篇:蓝桥杯Java乘积为零(大数相乘)