计算机编程 求和 在线等
发布网友
发布时间:2022-05-18 11:52
我来回答
共3个回答
热心网友
时间:2023-10-16 04:31
我这是C++做的,楼上的貌似没看清题意, 其实,无论是分子还是分母都是斐波那契数列,也就是1 1 2 3 5 8 13.... 就是后一项等于前两项的和.
因此我设定x的初值为3,y的初值为2. 然后用到了递归调用。注释的部分是验证我的数都对。
#include <iostream>
using namespace std;
double fab(double n)
{
if(n<3) return 1;
else return fab(n-2)+fab(n-1);
}
int main()
{
double sum=0;
double x=3,y=2;
for(int i=0;i<20;i++)
{
sum+=fab(x)/fab(y);
/*cout<<"x= "<<fab(x)<<"\t";
cout<<"y= "<<fab(y)<<"\t";
cout<<endl;*/
x++;
y++;
}
cout<<sum<<endl;
}
热心网友
时间:2023-10-16 04:31
public class xulie
{
public static void main(String[] args)
{
int xiang=20;//计算多少项
float sum=0;
int[] num=new int[xiang+1];
num[0]=1;
num[1]=2;
for(int j=2;j<=xiang;j++){
num[j]=num[j-1]+num[j-2];
}
for(int i=1;i<=xiang;i++){
sum+=(float)num[i]/num[i-1];
}
System.out.println("前"+xiang+"项和是:"+sum);
}
}
——————————————
存为xulie.java
实际运行输出为:
前20项和是:32.660263
热心网友
时间:2023-10-16 04:32
不好意思,看错题了