您的位置:首页 > 编程语言 > C语言/C++

The Sum of Cube

2016-07-20 20:20 399 查看
the Sum of Cube

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 2400 Accepted Submission(s): 1009

Problem Description

A range is given, the begin and the end are both integers. You should sum the cube of all the integers in the range.

Input

The first line of the input is T(1 <= T <= 1000), which stands for the number of test cases you need to solve.

Each case of input is a pair of integer A,B(0 < A <= B <= 10000),representing the range[A,B].

Output

For each test case, print a line “Case #t: ”(without quotes, t means the index of the test case) at the beginning. Then output the answer – sum the cube of all the integers in the range.

Sample Input

2

1 3

2 5

Sample Output

Case #1: 36

Case #2: 224

题意为:求1-n的立方和。

解题方式:1^3+2^3+…..+n^3=[n*(n-1)/2]^2

有了公式,计算便变得简单多了。

下面的代码并非按照公式所编写。

#include<cstdio>
__int64 sum[1e6]={0,1};
int main()
{
for(__int64 i=1;i<=1e6;i++)
{
sum[i]=sum[i-1]+i*i*i;
}
__int64 t,k=0;
scanf("%I64d",&t);
while(t--)
{
__int64 m,n;
scanf("%I64d%I64d",&m,&n);
printf("Case #%I64d: %I64d\n",++k,sum
-sum[m-1]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++