www.sxkb.net > 求用C语言表达斐波那契数列

求用C语言表达斐波那契数列

#include int fib(int n)//递归函数 {//斐波那契数列算法 if(n==1||n==2) return 1; return fib(n-1)+fib(n-2); } int main() { int n; scanf("%d",&n); printf("%d\n",fib(n)); return 0; }

#include <cstdio>#include <iostream> using namespace std; int main() { int n; cin>>n; int a=1,b=1,c; if(n<3) { cout<<1<<endl; return 0; } n-=2; while(n--) { c=a+b; a=b; b=c; } cout<<c<<endl; return 0; }输入n为第n项,输出斐波那契第n项值

#include int main(void) { int a[10]; a[0]=a[1]=1; int i=2; for (;ia[i]=a[i-2]+a[i-1]; int sum=0; for (i=0;isum+=a[i]; printf("斐波那契数列的前十项和为:%d",sum); return 0; }

#include <stdio.h>int main(){ int n, i; long long a, b, c; scanf("%d", %n); while(n>2){ a = 1; b = 1; for(i=3;i<=n;i++){ c=a+b; a=b; b=c; printf("%ld\n",c); } } return 0;}

C语言源程序如下: #include<stdio.h> int main() { int array[100]={1,1};//斐波那契数列前两个元素均为0 int i=0;//循环变量 int n=20;//数列需要求的个数 int sum = 0;//和变量 for(i=2;i<n+1;i++)//按递推原理依次求出后续元素 { array[i]=array[i-1]+

#include<stdio.h>//求斐波那契数列第n项 int fib(int n) { if(n == 0 || n == 1) return 1; else return (fib(n-1)+fib(n-2)); } int main() { int i,n; printf("-----输入一个斐波那契数-----\n"); scanf("%d",&n); for(i=0;i<n;i++) printf("%d\t",fib(i)); printf("\n"); return 0; }编译结果:./a.out-----输入一个斐波那契数-----81 1 2 3 5 8 13 21

#include<iostream.h> void main() { double a1=1,a2=1,a=0; double N=0,flag=0; while(N<=701408733) { a=a1+a2; a1=a2; a2=a; N=a; flag=flag+1; } cout<<"\n\n一共有 "<<flag<<"项";}

斐波那契数列在数学上的通项公式为 An=An-1+An-2 在C语言中,根据算法实现不同,可以有很多种表达方式.以计算斐波那契第N项值为例,说明如下.一、以数组方式实现:int fn(int n) { int *a,i,r; a=(int *)malloc(sizeof(int)*n);//分配动态数组

//常规的求法只能求到40项左右,因为后面的项太大,溢出了!#include <stdio.h>int main() { int a=0,b=1,c; int i=0; printf("%d\t%d\n",i,a); i++; printf("%d\t%d\n",i,b); for(i=2;i<=40;i++) { c=a+b; printf("%d\t%d\n",i,b); a=b; b=c; } }

递归 运算到后面计算量太大了 这个用递推的好!#include <stdio.h>void fa(int n){ int i,x=1,y=1; for(i=1;i<=n;i++){ if(i<3) printf("1\t"); else{ y=x+y;printf("%d\t",y); x=y-x; } }}void main(){ int n;printf("input a number:\n");scanf("%d",&n); fa(n); printf("\n");system("pause");}

网站地图

All rights reserved Powered by www.sxkb.net

copyright ©right 2010-2021。
www.sxkb.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com