原题http://acm.hdu.edu.cn/showproblem.php?pid=2139
Calculate the formula
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6871 Accepted Submission(s): 2109
Problem Description
You just need to calculate the sum of the formula: 1^2+3^2+5^2+……+ n ^2.
Input
In each case, there is an odd positive integer n.
Output
Print the sum. Make sure the sum will not exceed 2^31-1
Sample Input
3
Sample Output
10
Author
wangye
Source
//看了下网上的解题报告,那什么公式。渣渣根本推不出来了。所以渣渣采用了奔的方法,打表
//虽说是打表,但也是有理由的。因为乘法所用的时间要比加法多。所以要竟可能多的用到加法所以就要开数组打表啦
#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;
int num[3000];
int main(){
int n,i;
memset(num,0,sizeof(num));
num[1] = 1;
for(i=3;i<=2900;i++){
num[i]+=num[i-2]+i*i;
}
while(~scanf("%d",&n)){
printf("%d\n",num[n]);
}
return 0;
}