1 数列平方和
作者: Turbo时间限制: 1S章节: 循环
问题描述 :
已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。
请编写程序,计算并输出该数列前n项的平方之和sum。n值通过键盘输入。
输入说明 :
输入一个整数n,n的范围为[1,20]
输出说明 :
输出一个整数,前后无多余空格或空行。
输入范例 :
输出范例 :
#include <iostream>
#include <cstring>
#include <iomanip>
#include <cmath>
#include <vector>
using namespace std;
int main()
{
int n;
int sum=1;
cin>>n;
if(n==0||n==1) cout<<0<<endl;
else if(n==2) cout<<1<<endl;
else{
vector<int> a(n);
a[0]=0,a[1]=0,a[2]=1;
for(int i=3; i<n; i++)
{
a[i]=a[i-1]+a[i-2]+a[i-3];
sum+=a[i]*a[i];
}
cout<<sum<<endl;}
return 0;
}