c# 斐波那契数列

任务描述

本关任务:编写一个程序,计算斐波那契数列前N项的和。N由键盘输入。 斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、...。在数学上,斐波那契数列以递归的方法定义:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)(n≥3,n∈N*)

程序分析

根据斐波那契数列定义可知,需要已知第1个和第2个元素才能求出后面的元素,所以先定义f1=1,f2=1,然后在循环中先计算f=f1+f2等公式,而f=f1+f2之后,要执行f1=f2,f2=f,其目的是:f1f2表示的不仅仅是第1个和第2个元素,随着循环的进行f1f2可以代表f2,f3,f4,f5,f6等元素。

编程要求

根据提示,在右侧编辑器补充代码,计算并输出斐波那契数列前N项的和。

测试说明

平台会对你编写的代码进行测试: 测试输入: 2 预期输出: sum=2

测试输入: 4

预期输出: sum=7

测试输入: 12

预期输出: sum=376

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ch505
{
    class Program
    {
        static void Main(string[] args)
        {
			/******begin*******/
			int n=int.Parse(Console.ReadLine());
			int s=fun(n);
			Console.Write("sum="+s);
			/*******end********/

        }
        static int f(int a)
        {
            if(a==1||a==2)
            {
                return 1;
            }
            else
            {
                return f(a-1)+f(a-2);
            }
        }
        static int fun(int n)
        {
            
            int sum=0;
            for(int i=1;i<=n;i++)
            {
                sum=sum+f(i);
            }
            return sum;
        }
    }
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值