/* 斐波拉契数列,求数列的第N个数的值,并求前N个数的和1 1 2 3 5 8 13 21 34*/# include <stdio.h>int main(void){int n;int f1,f2,f3;int i;
int sum =0;1=1;f2=1;printf("请输入您需要求的项的数:");scanf("%d",&n);if(n==1){ f3=1;
sum =1;}else if(n==2){ f3=1;
sum=2;}else{ for(i=3;i<=n;i++) { f3=f1+f2; f1=f2; f2=f3;
sum=f3+sum+2;
}}
printf("%d/n",f3);
printf("%d/n",sum);return 0;}
另外一种写法:
递归算法求斐波拉契数列前n项的和#include <stdio.h>long f(int n){if(n==1) return 1;if(n==2)return 2;return f(n-1)+fib(n-2);}long fsum(int n){ if(n==1) return fib(n);return f(n)+fsum(n-1);}