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各种方法