这个题纯属脑洞啊
看到题目很明显就是找规律填数字,让我们一直加某一个数字使得可以开方成为一个整数
开到样例中的值
2,6,12,20,想到什么了吗?
为什么输入4和输入3和输入2的答案不一样?
由于这个是special judge,那么出题人的想法我们就能猜了
2=1*2
6=2*3
12=3*4
20=4*5
所以后面几个肯定是5*6=30,6*7=42……
所以,我们可以打表了
#include<bits/stdc++.h>
using namespace std;
#define LL __int64
const int maxn=1e5+50;
LL ans[maxn];
int main(){
ans[1]=2;
for(int i=2;i<=100000;i++)
ans[i]=1LL*i*(i+1)*(i+1)-(i-1);
int n;
while(scanf("%d",&n)!=EOF)
for(int i=1;i<=n;i++)
printf("%I64d\n",ans[i]);
return 0;
}