
c++用递归计算1到n自然数倒数的和
求1到n自然数倒数的和,怎么无法实现#include<stdio.h>intQ(doublen){if(n==0)return0;elseif(n==1)return1;...
求1到n自然数倒数的和,怎么无法实现
#include <stdio.h>
int Q(double n)
{
if(n == 0)
return 0;
else if(n==1)
return 1;
else
return Q(1/(n-1))+(1/n);
}
int main()
{
double a;
printf("输入一个数字:");
scanf("%lf",&a);
printf("契波那契数的第N项是%d",Q(a));
return 0;
} 展开
#include <stdio.h>
int Q(double n)
{
if(n == 0)
return 0;
else if(n==1)
return 1;
else
return Q(1/(n-1))+(1/n);
}
int main()
{
double a;
printf("输入一个数字:");
scanf("%lf",&a);
printf("契波那契数的第N项是%d",Q(a));
return 0;
} 展开
3个回答
推荐于2016-05-18 · 知道合伙人游戏行家
关注

展开全部
//c++用递归计算1到n自然数倒数的和
#include<stdio.h>
float D(int n);//声明子函数
main()
{
int n;
float s;
printf("输入要计算到的n:");//输入要计算到的n
scanf("%d",&n);
s=D(n);//调用子函数
printf("1到n自然数倒数的和s=%f\n",s);//打印结果
}
float D(int n)//子函数
{
float i,s=0;
for(i=1;i<n+1;i++)//递归计算
{
s=s+1/i;
}
return s; //返回结果
}
#include<stdio.h>
float D(int n);//声明子函数
main()
{
int n;
float s;
printf("输入要计算到的n:");//输入要计算到的n
scanf("%d",&n);
s=D(n);//调用子函数
printf("1到n自然数倒数的和s=%f\n",s);//打印结果
}
float D(int n)//子函数
{
float i,s=0;
for(i=1;i<n+1;i++)//递归计算
{
s=s+1/i;
}
return s; //返回结果
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-03-05 · 知道合伙人软件行家
关注

展开全部
double Q(double n) //返回值 为double
{
if(n == 0)
return 0;
else if(n==1)
return 1;
else
return Q(n-1)+(1/n);//Q(n-1)
}
{
if(n == 0)
return 0;
else if(n==1)
return 1;
else
return Q(n-1)+(1/n);//Q(n-1)
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double Q(int n)
{
if(n==1)
return 1;
else
return Q(n-1)+1/(double)n;
}
{
if(n==1)
return 1;
else
return Q(n-1)+1/(double)n;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询