链接:https://www.nowcoder.com/acm/contest/93/B
来源:牛客网

Problem  Description:


Input:

输入第一行一个整数T(1<=T<=100)
接下来有T组测试数据,每组测试数据输入一个整数n(3<=n<=10000)

保证输入的n为奇数

Output:

对于每组测试数据,输出对应答案

Sample  Input:

2
3

5

Sample  Output:

25

169

思路:这道题数据很大,10000,如果直接暴力的话,会炸掉的,所以我们可以找规律。n=3时,sum=2+4+5+6+8=25=5*5;n=5时,sum=3+7+8+9+11+12+13+14+15+17+18+19+23=169=13*13;n=7时,sum=4+......+25+.....+46=625=25*25。由此我们可以得到每次的sum都是矩阵里最中心的数的平方。

My  DaiMa:

#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
    int t,n;
    long long s;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        s=(n/2+1)+(n*(n/2));  //这是求矩阵里面最中心的那个数
        printf("%lld\n",s*s);
    }
    return 0;

}

//只要找到规律,其实代码很简单