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
AC:#include<stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { n=n%10000; n=(n*(n+1)/2)%10000; n=(n*n)%10000; printf("%04d\n",n); } return 0; } /*超时代码。 #include<stdio.h> int main() { int n,i,x,xx; int sum; while(scanf("%d",&n)!=EOF) { sum=0; for(i=1;i<=n;i++) { x=i%10000; xx=x; x=(x*x)%10000; sum=sum+(x*xx)%10000; if(sum>=10000) sum=sum%10000; } printf("%04d\n",sum); } return 0; } */