急求编写斐波那契数列前10和数(1,1,2,3,5,8,13,....)

wanwanman 2007-01-29 09:31:24
急求高手写 ~~多谢!
...全文
1192 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mLee79 2007-01-30
  • 打赏
  • 举报
回复
酱紫 ...

#include <math.h>
#include <stdio.h>

#define s5 (2.2360679774997898) /* sqrt(5) */
const double p1 = ( 1 + s5 ) / 2 , p2 = ( 1 - s5 ) / 2 , a1 = 1 / s5;

double sumFib( int n )
{
return a1 * (
( 1. - pow( p1 , n + 1 ) ) / p2 -
( 1. - pow( p2 , n + 1 ) ) / p1 );
}

int main()
{
int i;
for( i = 0; i <= 10; ++i )
printf( "--- %d --- : %.10g\n" , i , sumFib(i) );
return 0;
}



frogmad 2007-01-29
  • 打赏
  • 举报
回复
#include <stdio.h>
#define MAX_NUM 100000 //假设机器能计算的最大Fib(n)

//直接返回Fib(n)
unsigned long Fib (unsigned int n)
{

unsigned long a[2] = {1,1};
if ((n<=0)||(n>MAX_NUM)) return 0;
int i=2;
while (i<n)
{
a[0]+=a[1];
i++;
if (i<n) a[1]+=a[0]; else return a[0];
i++;
}
return a[1];
}

int main()
{
int n,i,sum=0;
printf("Input the N:\n");
scanf("%d",&n);
for ( i = 1; i<= n; i++)
sum+=Fib(i);
printf("%d\n",sum);
getchar();
getchar();
return 0;
}
jixingzhong 2007-01-29
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>


int main()
{
int x, y, sum;
int i;

x=y=1;
sum = x+y;
printf("sum = %d + %d", x, y);
for(i=3; i<=10; i++)
{
int tmp=x;
x=y;
y = tmp+y;
sum += y;
printf(" + %d", y);
}
printf(" = %d.\n", sum);

system("PAUSE");
return 0;
}
DonaldKnuth 2007-01-29
  • 打赏
  • 举报
回复
给你3个简单的:
1.
#include<iostream>
using namespace std;

int fibonaci(int n)
{
if(n==1 || n==2)
return 1;
return fibonaci(n-1) + fibonaci(n-2);
}

void main(void)
{
for(int i = 1; i <= 10; ++i)
cout<<fibonaci(i)<<" ";
}

2.
#include<iostream>
using namespace std;

void main(void)
{
int a[10];
a[0] = a[1] = 1;

for(int i = 2; i < 10; ++i)
{
a[i] = a[i-1] + a[i-2];
}

for(int i=0 ; i < 10; ++i)
cout<<a[i]<<" ";
}

3.
#include<stdio.h>
void main(void)
{
int a, b, c;
a=b=c=1;
printf(" %d %d ", a, b);
for(int i = 2; i < 10; ++i)
{
b = a;
a = c;
printf(" %d ",c = a + b);
}

}
jixingzhong 2007-01-29
  • 打赏
  • 举报
回复
循环, 累加求和即可 ~

也可以用递归 ~
doubhor 2007-01-29
  • 打赏
  • 举报
回复
下面接口关系描述的对吗?
输入:无
输出:斐波那契数列前面10个数的和

如果是这样的话,是不是函数的输入输出就是固定的了,这样的话:
1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 = 143
那么直接return 143 好了

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧