yhkn.net
当前位置:首页 >> C语言完成FiBonACCi数列 >>

C语言完成FiBonACCi数列

#include<stdio.h>//使用递归求斐波拉切数列的某一项的值 int fib(int num){ if(num==1||num==2){ return 1; }else{ return fib(num-1)+fib(num-2); } } void main(){ int i; //斐波拉切数列的项数 for(i=1;i<=18;i++){ if(i%6!=0){ //输出六项,然后再换行 printf("%d\t",fib(i)); }else{ printf("%d\n",fib(i)); } } }

#include "stdio" int fibonacci(int m) { if(m>3) return fibonacci(m-1)+fibonacci(m-2)+fibonacci(m-3); if (m==1||m==2) return 0; if (m==3) return 1; } int sum_fibonacci(int m) { int count=0; for (int k=1;k!=m+1;++k) { count+=fibonacci(k); } return count; }

#include <iostream.h>#include <string.h>#define MAX 1000// 修改它的值可以改变输出的位数int f[MAX][MAX/2]={0};void plus(int a[],int b[],int j){ f[j][1]=0; for(int i=1;i<=(a[0]>b[0]?a[0]:b[0]);i++) { f[j][i]+=a[i]+b[i]; f[j][0]=i; f[j][i+1]=f[j][i]/10; f[j][i]%=10; } if(f[j][

//常规的求法只能求到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> int Fibonacci(int n) { if (n==0) return 1; else if(n==1) return 1; else return Fibonacci(n-2)+Fibonacci(n-1); } void main() { int i=20; long j=Fibonacci(i); printf("%d",j); }

#include#define N 20 int Fibonacci(int n) { if(n == 1 || n==2) return 1; else return Fibonacci(n-1)+Fibonacci(n-2); } void main() { int i = 0; for(i=1;i { printf("%5d",Fibonacci(i)); if(i%5 == 0) printf("\n"); } printf("\n"); } 只要修改宏定义N的值,就可以输出斐波那契数列的前N项.

#include<stdio.h> int f(int n) { if (n==1|| n==2) { return (1); } else { return (f(n-1)+f(n-2)); } } void main() { int n,i; printf("input n\n"); scanf("%d",&n); for(i=1;i<=n;i++) printf("%d\n",f(i)); }

#include<stdio.h> int main() { int f1=1,f2=1; int i; for(i=1;i<=20;++i) { printf("%-12d%-12d",f1,f2); if(i%2==0) printf("\n"); f1=f1+f2; f2=f1+f2; } printf("\n"); return 0; }

void main() { int n; printf("想计算斐波那契数列的前多少项和(n超过44后结果会溢出)?\nn=",&n); scanf("%d",&n); printf("斐波那契数列前%d项和为:%d\n",n,mySum(n)); } long Fibonacci(int i){ return (i==0 || i==1) ? 1 : Fibonacci(i-1) + Fibonacci(i-2) } long mySum(int n){ long s=0; for(int i=0; i

#include<stdio.h>#define N 20 int Fibonacci(int n) { if(n == 1 || n==2) return 1; else return Fibonacci(n-1)+Fibonacci(n-2); } void main() { int i = 0; for(i=1;i<=N;i++) { printf("%5d",Fibonacci(i)); if(i%5 == 0) printf("\n"); } printf("\n"); } 只要修改宏定义N的值,就可以输出斐波那契数列的前N项.

mtwm.net | wnlt.net | jinxiaoque.net | ddng.net | yhkn.net | 网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com