Calculate S(n)
Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7124 Accepted Submission(s): 2633
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
天邪
对于大于10000的N,S(N)与S(N%10000)的后四位相同
#include<stdio.h>
int main()
{
int n,s;
while(scanf("%d",&n)!=EOF)
{
n=n%10000;
s=((n*(n+1)/2)%10000)*((n*(n+1)/2)%10000)%10000;//取模之后n(n+1)/2可能超过10000,所以对其取模。再求乘积之后还有可能超过10000,再取一次模
printf("%04d\n",s);
}
return 0;
}