| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1352 人关注过本帖
标题:[求助]分数序列
只看楼主 加入收藏
fyqabc
Rank: 1
等 级:新手上路
帖 子:110
专家分:3
注 册:2006-3-4
结帖率:54.55%
收藏
 问题点数:0 回复次数:16 
[求助]分数序列
分数序列:
图片附件: 游客没有浏览图片的权限,请 登录注册

求前20项的和,
想了好久都没辙,只好上论坛来了,
搜索更多相关主题的帖子: 分数序列 没辙 
2007-05-31 22:45
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 

i=j=1;
sum=0;
for (count=1;count<=20;count++)
{
t=i;
i+=j;
j=t;
sum=sum+i/j;
}


麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-05-31 23:08
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
回复:(fyqabc)[求助]分数序列
这个序列的分子和分母叫做Fibonacci数列,该数列的生成方法为:F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3),即从第三个数开始,每个数等于前2个数之和。
用上面的公式,利用for循环
求各项分子:设m1=1,m2=1,
则m1=m1+m2,
m2=m2+m1,
。。。
求各项分母:设n1=0,n2=1,
则n1=n1+n2,
n2=n2+n1,
。。。
用分子各项除以分母各项得到所求序列的各项,再求和,结束。。。
就是这样的一个思路,不知道楼主理解了没有,你先做做看。。。。。。

[此贴子已经被作者于2007-5-31 23:29:34编辑过]


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-05-31 23:27
小子也大叔
Rank: 2
等 级:新手上路
威 望:4
帖 子:143
专家分:0
注 册:2007-4-23
收藏
得分:0 

下面是我的程序:


#include<stdio.h>
#include<stdlib.h>

int main(void)
{
float F(int n);

int n;


do
{
printf("input n:");
scanf("%d",&n);
}
while(n<0);

printf("sum=%f",F(n));

system("pause");
return 0;
}

float F(int n)
{
int i;
float fz,fm,f,sum;


if(n==0)
{
sum=0.0;
}
else
{
for(i=1,fz=2,fm=1,sum=0.0;i<=n;i++)
{
f=fz/fm;
fm=fz;
fz=fm+fm/f;
sum+=f;
}
}

return sum;
}


希望一心想学c的加我的群吧~~ 40834003
2007-06-01 01:33
小子也大叔
Rank: 2
等 级:新手上路
威 望:4
帖 子:143
专家分:0
注 册:2007-4-23
收藏
得分:0 
以下是引用红影在2007-5-31 23:27:11的发言:
这个序列的分子和分母叫做Fibonacci数列,该数列的生成方法为:F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3),即从第三个数开始,每个数等于前2个数之和。
用上面的公式,利用for循环
求各项分子:设m1=1,m2=1,
则m1=m1+m2,
m2=m2+m1,
。。。
求各项分母:设n1=0,n2=1,
则n1=n1+n2,
n2=n2+n1,
。。。
用分子各项除以分母各项得到所求序列的各项,再求和,结束。。。
就是这样的一个思路,不知道楼主理解了没有,你先做做看。。。。。。

道理我是懂 但不知道怎么实现呢???


希望一心想学c的加我的群吧~~ 40834003
2007-06-01 01:50
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
二楼的好象不行,LZ你的输出是想要分数输出还是小数?

深山苦学C语言,终年不见外面世界。
2007-06-01 02:06
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

#include"stdio.h"
int main(void)
{
int n1=1,n2=2,n3=2,n4=3,i;
int fibonacci1=0,fibonacci2=0;
float sum=0;
for(i=1;i<=20;++i)
{
fibonacci1=n1+n2;
if(n1<n2) fibonacci1=n1;
else fibonacci1=n2;
fibonacci2=n3+n4;
if(n3<n4) fibonacci2=n3;
else fibonacci2=n4;
sum+=(float)fibonacci2/fibonacci1;
}
printf("%f\n",sum);
getch();
return 0;
}

试下符合不?


深山苦学C语言,终年不见外面世界。
2007-06-01 02:27
gospark
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-6-1
收藏
得分:0 

很简单,你看下面的程序,改变i的参数,就可以输出分子分母,小数,分数随便你
#include<stdio.h>
#include<math.h>
main()
{ int i,t,p=2,q=1;
for(i=0;i<19;i++)
{ t=p;
p=q+t;
q=t;
}
printf("fenzi %d fenmu %d",p,q);
getch();

}


软硬结合才是发展之路~~~
2007-06-01 02:46
小子也大叔
Rank: 2
等 级:新手上路
威 望:4
帖 子:143
专家分:0
注 册:2007-4-23
收藏
得分:0 
以下是引用红影在2007-5-31 23:27:11的发言:
这个序列的分子和分母叫做Fibonacci数列,该数列的生成方法为:F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3),即从第三个数开始,每个数等于前2个数之和。
用上面的公式,利用for循环
求各项分子:设m1=1,m2=1,
则m1=m1+m2,
m2=m2+m1,
。。。
求各项分母:设n1=0,n2=1,
则n1=n1+n2,
n2=n2+n1,
。。。
用分子各项除以分母各项得到所求序列的各项,再求和,结束。。。
就是这样的一个思路,不知道楼主理解了没有,你先做做看。。。。。。

是这样的吗?

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
int n,i;
float fz1,fz2,fm1,fm2,f1,f2,sum;

printf("input n:");
scanf("%d",&n);

for(i=1,fz1=2.0,fz2=3.0,fm1=1.0,fm2=2.0,sum=0.0;i<=n/2;i++)
{
f1=fz1/fm1;
f2=fz2/fm2;

sum+=(f1+f2);

fz1=fz1+fz2;
fz2=fz2+fz1;

fm1=fm1+fm2;
fm2=fm2+fm1;
}

printf("sum=%f",sum);

system("pause");
return 0;
}


希望一心想学c的加我的群吧~~ 40834003
2007-06-01 03:11
小子也大叔
Rank: 2
等 级:新手上路
威 望:4
帖 子:143
专家分:0
注 册:2007-4-23
收藏
得分:0 
以下是引用huangfengchu在2007-6-1 2:06:30的发言:
二楼的好象不行,LZ你的输出是想要分数输出还是小数?

2楼大概就这个意思吧!

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
int n,i,fz,fm,t;
float sum=0.0;

do
{
printf("input n:");
scanf("%d",&n);
}
while(n<0);

for(i=1,fz=1,fm=1;i<=n;i++)
{
t=fz;
fz+=fm;
fm=t;
sum+=(float)fz/fm;
}


printf("sum=%f",sum);

system("pause");
return 0;
}


希望一心想学c的加我的群吧~~ 40834003
2007-06-01 03:15
快速回复:[求助]分数序列
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032032 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved