文章
79
粉丝
221
获赞
46
访问
202.3k
#include <iostream>
using namespace std;
int main() {
int n;
cin>>n;
for(int i=0,a;i<n;i++){
cin>>a;
if(a==0||a==1){
cout<<1<<endl;
continue;
}
cout<<(a-1)*(a-1)*2+2*a-1<<endl;
}
return 0;
}
由题意知:
第一天:
*
1
第二天:
*
***
*
5
第三天:
*
***
*****
***
*
13
发现规律,例如第三天时
*
***
*****除本行外,前几行之和为1+3+...+2(n-1)-1,为公差为2的等差数列,故前几行细菌数量之和为(1+2(n-1)-1)*(n-1)/2=(n-1)^2,故除了本行之外的细菌之和为2*(n-1)^2
***
*
加上中间那一行细菌数量为2n-1,故总细菌数量为2*(n-1)^2+2n-1
登录后发布评论
暂无评论,来抢沙发