c++,斐波那契数列以及各项求和(小白类讲解)

今天来和大家讲讲斐波那契数列的那些事。

首先来介绍一下这个数列吧:

斐波那契数列,又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以子繁殖为例子而引入,故又称“兔子数列”,其数值为:0、1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)≥ 2,∈ N*)。

其实说白了就是第一项和第二项给定,第三项=第二项+第一项,第四项=第三项+第二项。。。。。。后一项等于前两项的和。

思路:由上文标红的那个关系,可知可以用数组来解决这个问题。因此可以将用户输入的数字n作为动态数组的元素项数,根据定义找出各项关系。

此时可以用new函数定义动态数组。就是下面那个样子。a是数组名。n是用户输入的数字。

	int* a = new int[n];	

不要忘了  定义数组要引用头文件。

#include<string>

下面是源码,仅供参考,如有错误,多多指正。

#include<iostream>									//头文件
#include<string>
using namespace std;

int fab(int n)										//定义斐波那契数列函数
{
	cout << "这几项数为:";
	
	if (n == 0)										//输入0时不符合
	{
		cout << "请重新输入。";
	}

	else if (n == 1 || n == 2)						//输入1和2时为特例,直接输出即可
	{
		cout << n << endl << " 这几项的和为:" << n;
	}

	else
	{												//输入其他数时,可计算
		int* a = new int[n];						//定义动态数组,将数列的总共n项作为数组元素
		for (int i = 0; i < n; i++)
		{
			a[0] = 0;
			a[1] = 1;
			a[i] = a[i - 1] + a[i - 2];				//根据数列定义,找出各项关系
		}

		for (int i = 0; i < n; i++)					//用循环遍历各项
		{
			cout << a[i] << " ";
		}


		cout << endl << "这几项的和为:";			//用累加法计算各项的和
		int d = 0;
		for (int i = 0; i < n; i++)
		{
			d = a[i] + d;
		}
		cout << d;
	}
	return 0;										//自定义函数结束
}
													//主函数结束
int main()
{
	//项目一:设计和编写程序,完成对输入长度的斐波那契数列通项 
	// 及 
	// 数列和的求值。
	fab(2);
	cout << endl;
	system("pause");
	return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lucmenky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值