您的位置:首页 > 其它

杭电Problem 5053 the sum of cube 【数学公式】

2016-07-20 21:03 459 查看

the Sum of Cube

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

Total Submission(s): 2430    Accepted Submission(s): 1021

[align=left]Problem Description[/align]
A range is given, the begin and the end are both integers. You should sum the cube of all the integers in the range.
 

[align=left]Input[/align]
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].
 

[align=left]Output[/align]
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.
 

[align=left]Sample Input[/align]

2
1 3
2 5

 

[align=left]Sample Output[/align]

Case #1: 36
Case #2: 224

 
这道题比较水,但是是用来记录一个公式的(虽然我没用)。
1^3 + 2^3 + …… n^3 = [n (n+1) / 2]^2=(1+2+……+n)^2

#include <cstring>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
#define MAX_N   1000005
#define TY  int
#define MAX(a, b)   ((a > b)? a: b)
#define MIN(a, b)   ((a < b)? a: b)
using namespace std;

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