Description
某种细胞(用'*'表示)繁殖遵循一定的规律。第一天的数量为1,以后按照如下方式繁殖:
第一天:
*
第二天:
*
***
*
第三天:
*
***
*****
***
*
。。。。。。。。。
你需要计算第x天的细胞数量。
第一天:
*
第二天:
*
***
*
第三天:
*
***
*****
***
*
。。。。。。。。。
你需要计算第x天的细胞数量。
Input
第一行一个N(<=1000),下面将有N行测试数据,每个测试数据为第x( 0 <= x <= 1000)天.
输入0的时候输出为1.
输入0的时候输出为1.
Output
对于每个第X天,输出那一天的细胞数量。
3
1
2
3
1
2
3
1
5
13
5
13
#include<stdio.h> int main() { int n,x; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&x); printf("%d ",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。