嘿嘿Ja


私信TA

用户名:dotcpp0708147

访问量:77

签 名:

等  级
排  名 10137
经  验 1109
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 安徽师范大学
专  业 网络空间安全

  自我简介:

解题思路:首先声明一下,纯属是为了练习递归才这么写的,当时的第一想法是这与斐波那契数列类似,所以就想到用递归,分子分母从第三项开始就等于前两项的和,则fbnq(i)=fbnq2(i-1)+fbnq2(i-2)
注意事项:
遇到除法要考虑数据类型
参考代码:

#include<stdio.h>

#include<math.h>

double fbnq1(double i);

double fbnq2(double i);

int main()

{

    int n;

scanf("%d",&n);

double sum=0;

for(int i=1;i<=n;i++)

{

double shang=fbnq1(i)/fbnq2(i);

sum+=shang;

}

printf("%.2lf",sum);

    return 0;

}


double fbnq1(double i)

{

if(i==1) return 2.0;

else 

if(i==2) return 3.0;

else

return fbnq1(i-1)+fbnq1(i-2);

}


double fbnq2(double i)

{

if(i==1) return 1.0;

else 

if(i==2) return 2.0;

else

return fbnq2(i-1)+fbnq2(i-2);

}

 

0.0分

1 人评分

  评论区

  • «
  • »