当前位置:首页 > 教育综合 > 正文

使用数组,求出下列数列的前 20 项之和,从第 4 项开始,每一项是前三项之和

c++求解已知数列a1=o,a2=0,a3=1,从第四项开始每一项都等于前三项之和求前20项之和

#include
usingnamespacestd;
intfun(intn)
{
if(1==n||2==n)
{
return0;
}
if(3==n)
{
return1;
}
returnfun(n-1)+fun(n-2)+fun(n-3);
}
intmain()
{
intsum=0;
for(inti=1;i<=20;i++)
{
sum+=fun(i);
}
cout<<"前20项的和为:"<return0;
}

运行结果:

C语言编程:找规律,打印下列数列的前20个数:0,0,1,1,2,4,7,13,24……

代码

//C语言编程:找出规律,打印下列数列的前20个数:0,0,1,1,2,4,7,13,24……
//可以看出规律是从第四个数字开始,当前数字为前三个数字之和


# include

//默认要打印的数字个数
#define NUM 20

int main()
{
int a[NUM] = {0, 0, 1};
for(int i = 0; i < NUM; i++)
{
if(i >= 3)
{//当前数字为前三个数字之和
a[i] = a[i-1] + a[i-2] + a[i-3];
}
printf("%d ", a[i]);
}
getchar();
return 0;
}

C语言:编写程序用数组处理求解Fibonacci数列前20项之和并输出。

斐波那契数列通项公式:斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于前两项之和。 #include int main() { int a[20]={1,1},i=2; printf("a[0]=a[1]="); for(i=2;i<20;i++) { a[i]=a[i-1]+a[i-2]; // a[i-2]=a[i-1]; 这两行是多余的 // a[i-1]=a[i]; if(i%4==0) printf("\n"); printf("a[%d]=%d ",i,a[i]);//加了格式说明符以及空格。 } retu

C语言:编写程序用数组处理求解Fibonacci数列前20项之和并输出。

思路:先定义数组的前两项值,再依次对后面每项进行赋值,后面每项都是前两项的和。 例如: #include int main(){ int a[20],i; a[0]=a[1]=1; for(i=2;i<20;i++) a[i]=a[i-1]+a[i-2]; for(i=0;i<20;i++){ printf("%4d ",a[i]); if((i+1)%5==0) printf("\n"); } return 0; } /* 输出: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 */

C语言— 利用数组求Fibonacci数列前20项的和

楼主你确定是前20项和而不是第20项的值? 楼上的答案没有用数组。 程序如下:(vc++下调试通过) #include void main() {long sum=0; long a[20]; int i; a[0]=1;a[1]=1; for(i=2;i<20;i++) a[i]=a[i-1]+a[i-2]; for(i=0;i<20;i++) sum=sum+a[i]; printf("%ld",sum); }
展开全文阅读