递归法求斐波那切数列及前n项和

本文介绍了一种使用递归方法实现的斐波那契数列生成算法,并提供了一个简单的质数判断函数。通过C++和Python代码示例展示了如何计算斐波那契数列的前n项之和及判断一个数是否为质数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。特别指出:0不是第一项,而是第零项。

在这里不包括第零项,代码如下:

#include<iostream.h>

int fib(int n)
{	int fib_n;
	if(n<=2)
		return 1;
	fib_n=fib(n-1)+fib(n-2);
	return fib_n;
}

int fib_sum(int n)
{	int s=0,m;
	for(m=1;m<=n;m++)
		s+=fib(m);
	return s;
}

int main()
{
   int t;
   cout<<"please input an integer:";
   cin>>t;
   cout<<fib_sum(t)<<"\n";
   return 0;
}
def fib(x):
    list_fib = [0, 1]
    a = 1
    b = 1
    while x > b:
        b , a = a+b , b
        list_fib.append(a)
    return list_fib

def primer(x):
    '''
    limit of divisor is 2~i/2
    '''
    count = 0
    i = 1
    while i <= x:
        if x%(i/2) == 0:
           count +=1
        i +=1
    if count > 2:
        return False
    else:
        return True
  
    
if __name__ =='__main__':
    
    result = fib(100)  
    #print(result)
    print(primer(89))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值