HDU 2114 Calculate S(n) (立方和的计算)

Calculate S(n)

Time Limit: 10000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1897    Accepted Submission(s): 713

Problem Description
Calculate S(n).

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

解题:

       运用数学公式:13 +23 +33 +……+n3 =[n(n+1)/2]2

#include <iostream> #include <iomanip> using namespace std; int main() { __int64 sum,n; while (cin>>n) { sum=0; n%=10000; sum=(n*(n+1)/2)*(n*(n+1)/2)%10000; cout<<setfill('0')<<setw(4)<<sum<<endl; } return 0; }

你可能感兴趣的:(HDU 2114 Calculate S(n) (立方和的计算))