Advertisement

分数序列为:a(1)=1, a(2)=2, a(n)=a(n-1)+a(n-2) 求其前二十项之和

阅读量:

题目:存在一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13…计算该数列的前20项总和。
我的思路:
无论是分子部分还是分母部分,其数值均遵循前两项分子或分母之和的规律。因此,在获取最开始的两个数值后,即可推导出整个序列的前20项数据。将这些数据分别存储于两个独立的数组中,随后提取并进行计算。
代码:

复制代码
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    	int i; 
    	int a[20]={'\0'};
    	int b[20]={'\0'};
    	float num;
    	a[0]=2;
    	a[1]=3;
    	b[0]=1;
    	b[1]=2;
    	for(i=2;i<20;i++)
    	{
    		a[i]=a[i-1]+a[i-2];
    		b[i]=b[i-1]+b[i-2];
    	}
    /*	for(i=0;i<20;i++)
    	{
    		printf("%d ",a[i]);
    		
    		printf("%d ",b[i]);//调试的时候可以尝试着打印一些数组
    		putchar('\n');
    	}*/

全部评论 (0)

还没有任何评论哟~