HDU 2114 Calculate S(n) (公式)

来源:互联网 发布:怎么使用linux系统 编辑:程序博客网 时间:2024/05/23 22:21
Problem Description
Calculate S(n).

S(n)=13+23 +33 +......+n3 .

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
12

Sample Output
00010009
题意很明显:
有公式:

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;}*/


原创粉丝点击