一个关于算法的问题c
有意分数列:
2/1,3/2,5/3,8/5,13/8,21/13...
求此数列前20项之和。
==============================
我的解是:
#include "stdio.h"
#include "math.h"
main()
{
int i;
float s=2/1+3/2,j3,j4,a1=2,a2=3,b1=1,b2=2;
for(i=1;i<=9;i++)
{
a1=a1+a2;
a2=a2+a1;
b1=b1+b2;
b2=b1+b2;
j3= a1/b1;
j4=a2/b2;
s=s+j3+j4;
}
printf("%9.6f",s);
}
得到的答案是 32.160263
========================================
但是我的答案和书上有出入,不知是谁错了?为什么会产生如此大的误差?
书上的解:
#include "stdio.h"
#include "math.h"
main()
{
int i,t,n=20;
float a=2,b=1,s=0;
for(i=1;i<=n;i++)
{
s=s+a/b;
t=a;
a=a+b;
b=t;
}
printf("sum=%9.6f\n",s);
}
他的答案是 32.660259
2/1,3/2,5/3,8/5,13/8,21/13...
求此数列前20项之和。
==============================
我的解是:
#include "stdio.h"
#include "math.h"
main()
{
int i;
float s=2/1+3/2,j3,j4,a1=2,a2=3,b1=1,b2=2;
for(i=1;i<=9;i++)
{
a1=a1+a2;
a2=a2+a1;
b1=b1+b2;
b2=b1+b2;
j3= a1/b1;
j4=a2/b2;
s=s+j3+j4;
}
printf("%9.6f",s);
}
得到的答案是 32.160263
========================================
但是我的答案和书上有出入,不知是谁错了?为什么会产生如此大的误差?
书上的解:
#include "stdio.h"
#include "math.h"
main()
{
int i,t,n=20;
float a=2,b=1,s=0;
for(i=1;i<=n;i++)
{
s=s+a/b;
t=a;
a=a+b;
b=t;
}
printf("sum=%9.6f\n",s);
}
他的答案是 32.660259
...全文
相关推荐
用 C 语言实现贪心算法的一个经典示例:零钱兑换问题
贪心算法 贪心算法是一种在每一步选择中都做出局部最优选择的算法。它适用于一些优化问题,其中选择局部最优解能够导致全局最优解。用 C 语言实现贪心算法的一个经典示例:零钱兑换问题。该问题是:给定一个金额和一些不同面额的硬币,要求用最少的硬币数来兑换该金额。 问题描述 假设我们有硬币面额 [1, 3, 4],我们需要找出兑换给定金额(例如 6)的最少硬币数。
Linux中DNS域名解析服务
Linux中DNS域名解析服务
关于一个数据结构的一个i算法的描述,是二叉树的遍历问题,只有源代码,但是是可以直接运行的,是用C写的二叉树遍历问题.zip
关于一个数据结构的一个i算法的描述,是二叉树的遍历问题,只有源代码,但是是可以直接运行的,是用C写的二叉树遍历问题.zip
C语言基于贪心算法解决装箱问题的方法
主要介绍了C语言基于贪心算法解决装箱问题的方法,简单描述了装箱问题,并结合实例形式给出了C语言使用贪心算法解决贪心问题的相关操作技巧,需要的朋友可以参考下
C语言使用广度优先搜索算法解决迷宫问题(队列)
主要介绍了C语言使用广度优先搜索算法解决迷宫问题,结合迷宫问题分析了C语言队列广度优先搜索算法的相关使用技巧,需要的朋友可以参考下


