1,matlab写斐波那契数列

12345 functionF = fib(n) F = 1:n; forp = 3:n F(p) = F(p-1)+F(p-2); end

matlab写斐波那契数列

2,python怎么写斐波那契数列

斐波那契数列非常pythonic的写法是:1234567 # -*- coding:utf-8 -*-deffibs(num): a=b=1 fori inrange(num): yielda a,b=b,a+bprintlist(fibs(10))

python怎么写斐波那契数列

3,如何编程实现斐波那契数列

递归法:#includevoid main()int Fibonacci(int n);int n,i,c=0;printf("请输入n的值:");scanf("%d",n);for(i=1; ic = Fibonacci(i);printf("%12ld",c);if(i%4==0) //用于换行 4个一行;printf("\n");}}int Fibonacci(int n)//函数部分;long int f;if(n==1 || n==2)f=1;}elseif(n>=3)f = Fibonacci(n-1) + Fibonacci(n-2);return f;}非递归法:#includevoid main()int i,n;int f[]= printf("请输入n的值:");scanf("%d",n);for(i=2; if[i] = f[i-2] + f[i-1];for(i=0; iif(i%5==0) printf("\n");printf("%12d",f[i]);}printf("\n");}递归可以使程序看起来比较简洁,但缺点是效率比较低,并且可能导致栈溢出,因此需要灵活使用递归。

如何编程实现斐波那契数列

4,怎么实现斐波那契数列

解:∵斐波那契数列有一个性质:一个固定的正整数除所有的斐波那契数,所得余数组成的数列是有周期的。 ∴先确定正整数8除斐波那契数的周期: 项数 斐波那契数 除以8的余数 1 1 1 2 1 1 3 2 2 4 3 3 5 5 5 6 8 0 7 13 5 8 21 5 9 34 2 10 55 7 11 89 1 12 144 0 13 233 1 14 377 1 15 610 2 16 987 3 17 1597 5 18 2584 0 19 4181 5 20 6765 5 21 10946 2 22 17711 7 23 28657 1 24 46368 0 25 75025 1 26 121393 1 27 196418 2 28 317811 3 29 514229 5 30 832040 0 31 1346269 5 32 2178309 5 33 3524578 2 34 5702887 7 35 9227465 1 36 14930352 0 37 24157817 1 38 39088169 1 39 63245986 2 40 102334155 3 可见其周期是12 ∵2008÷12=167......4 ∴斐波那契数列第2008项除以8的余数和第4项除以8的余数相同 ∵斐波那契数列第4项除以8的余数是3 【见上表第4项的余数】 ∴斐波那契数列第2008项除以8的余数就是3 【说明:2008除以12得到余数4,是为了确定第2008项和第4项在周期中的位置相同,与斐波那契数本身除以8的余数不是一回事。为了看清周期,这里多排了几个,实际计算时至多算2个周期就足够了,必要时看到新的周期开始就可以了。另外,如果给出的某个项数(相当于本题的2008)除以12,余数为0(即除尽),就看第12项除以8的余数,因为12除以12的余数也为0。】
import java.util.Scanner;/** * Fibonacci * * @author tongqian.zhang */public class Fibonacci public static void main(String[] args) Scanner scanner = new Scanner(System.in); System.out.println("Please input this fibonacci n:"); int n = scanner.nextInt(); // 假设输入为大于零的整数 System.out.println(fibonacci(6) + ":" + fibonacciNormal(6)); int sum = 0; for(int i = 1; i <= n; i++) sum += fibonacci(i); } System.out.println(sum); } // 递归实现方式 public static int fibonacci(int n) if(n <= 2) return 1; }else return fibonacci(n-1) + fibonacci(n-2); } } // 递推实现方式 public static int fibonacciNormal(int n) if(n <= 2) return 1; } int n1 = 1, n2 = 1, sn = 0; for(int i = 0; i < n - 2; i ++) sn = n1 + n2; n1 = n2; n2 = sn; } return sn; }}

文章TAG:怎么  斐波纳契  斐波纳契数  斐波纳契数列  怎么画斐波纳契数列  
下一篇