Calculate S(n)
Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5512 Accepted Submission(s): 2057
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 开始还以为是找规律的 搞了半天没找到循环节 后来一看是套公式的1^3 + 2^3 + …… n^3 = [n (n+1) / 2]^2=(1+2+……+n)^2
#include<stdio.h> int main() { __int64 s; int n; while(scanf("%d",&n)!=EOF) { n%=10000;//这块注意要取模缩小 否则int64也够呛 s=n*(n+1)/2%10000; s=s*s%10000; printf("%04I64d\n",s); } return 0; }