| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2398 人关注过本帖
标题:计算斐波那契函数前200项的平均值问题
取消只看楼主 加入收藏
抠脚菜鸟
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2016-3-20
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:2 
计算斐波那契函数前200项的平均值问题
   做一个纯纯的文科生,竟然报了程序设计这门课,更坑爹的是总共才上了三节课,就出了这么一道题“计算斐波那契数列前200项的平均值。”
好晕啊,根本不知道从何处下手,求大神帮助啊
搜索更多相关主题的帖子: 文科生 平均值 程序设计 
2016-03-20 14:30
抠脚菜鸟
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2016-3-20
收藏
得分:0 
目前只有这个#include <stdio.h>

void main()
{
 int i,array[20]={1,1};
 
 for (i=2; i<20; i++)
 {
  array[i]=array[i-2]+array[i-1];
 }
 for (i = 0; i<20; i++)
 {
  printf("%d ",array[i]);
 }
 printf("\n");
}

然后就不知道该怎么办了
2016-03-20 14:47
抠脚菜鸟
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2016-3-20
收藏
得分:0 
谢谢,弄出来,么么哒
以下是引用rjsp在2016-3-21 11:22:19的发言:

换个公式,s(n) = s(n-2) + s(n-1) + 1; s(-1)=0, s(0)=0
#include <stdio.h>

// s(n) = s(n-2) + s(n-1) + 1; s(-1)=0, s(0)=0
void fibonacci_avg( unsigned n )
{
    // 斐波那契数列前n项之和
    unsigned a[6]={0}, b[6]={0};
    for( unsigned m=0; m!=n; ++m )
    {
        unsigned carry = 1;
        for( size_t i=0; i!=6; ++i )
        {
            carry += a + b;
            a = b;
            b = carry%10000000;
            carry /= 10000000;
        }
    }

    // 平均值
    unsigned carry = 0;
    for( size_t i=0; i!=6; ++i )
    {
        carry = carry*10000000 + b[5-i];
        a = carry/n;
        carry %= n;
    }

    // 十进制输出
    printf( "%u%07u%07u%07u%07u%06u%g\n", a[0],a[1],a[2],a[3],a[4],a[5]/10,a[5]%10+carry*1.0/n );

    return;
}

int main( void )
{
    fibonacci_avg( 200 );
    return 0;
}输出

2016-03-21 16:37
快速回复:计算斐波那契函数前200项的平均值问题
数据加载中...
 
   



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

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