Calculate S(n)
Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12001 Accepted Submission(s): 4310
Problem Description
Calculate S(n).
S(n)=1 3+2 3 +3 3 +......+n 3 .
S(n)=1 3+2 3 +3 3 +......+n 3 .
Input
Each line will contain one integer N(1 < n < 1000000000). Process to end of file.
Output
For each case, output the last four dights of S(N) in one line.
Sample Input
1 2
Sample Output
0001 0009
Author
天邪
Source
Recommend
#include <iostream>
#include <cmath>
#include <cstring>
#include <cstdio>
using namespace std;
const int mod = 10000;
long long n;
long long tmp;
int main(){
while (cin >> n) {
tmp = (n*(n+1)/2%mod)*(n*(n+1)/2%mod)%mod;
printf("%04lld\n",tmp);
}
return 0;
}
本篇介绍了一个计算S(n) = 1³ + 2³ + ... + n³的问题,通过高效的算法实现对任意给定的大整数n求解,并输出S(n)的最后四位数字。输入为一个整数n(1 < n < 1000000000),输出为S(n)的最后四位数字。
731

被折叠的 条评论
为什么被折叠?



