某种细胞(用'*'表示)繁殖遵循一定的规律。第一天的数量为1,以后按照如下方式繁殖:

第一天:
          
                  *

第二天:

                  *
                 ***
                  *
第三天:
       
                  *
                 ***
                *****
                 ***
                  *
。。。。。。。。。

你需要计算第x天的细胞数量。
第一行一个N(<=1000),下面将有N行测试数据,每个测试数据为第x( 0 <= x <= 1000)天.
输入0的时候输出为1.
对于每个第X天,输出那一天的细胞数量。
 
#include<stdio.h>
int main()
{
    int n,x;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&x);
         printf("%d\n",2*(x-1)*(x-1)+2*x-1);
    }
    return 0;
}

我们可以细致观察,每一天的中间一行是满足2*day-1这个公式的(即随着天数1,2,3,4……的变化中间的一行是1,3,5,7……)

而对于细菌数的求解实际上对于一个等差数列前N-1项和的2倍+第N项的值的和的求解。2*(n-1)^2+2*n-1。

相关文章: