www.fltk.net > 有一组数字1,1,2,3,5,8,13,21……,求第30位数是多少?并写出它的算法。

有一组数字1,1,2,3,5,8,13,21……,求第30位数是多少?并写出它的算法。

从上面的数可以看出1+1=21+2=32+3=55+8=13以次类推,第30个数就慢慢推下去吧~~~ 不好意思,没有找到简便的方法~~~

如下:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040所以第30位数是832040;

数串的个位数为:1、1、2、3、5、8、3、1、4、5、9、4、3、7、0、7、7、4、1、5、6、1、7、8、5、3、8、1、9、0、9、9、8、7、5、2、7、9、6、5、1、6、7、3、0、3、3、6、9、5、4、9、3、2、5、7、2、9、1、0、1、1

这是Fibonacci数列 它的递归定义为F(n)=1,n=0,1 F(n)=F(n-1)+F(n-2) n>1

???????、、

你这就是飞波纳切数列,答案是正确的.只是我很好奇,按理来说832040对int型来说已经溢出了啊

(1)余数列1,1,2,3,5,0,5,5,2,7,1,0,1,1,2,3,5,0,5,5,2,7,1,0每12项重复一次,所以第2010项的余数为0,因为2010除以12的余数即为余数的项数(2)321

这就是裴多菲数列,从第三项开始,每一项都是前边两项数字之和,所以第30项是832040

public class Test{ public static int Fibonacci(int n) { if (n <= 2) return 1; return Fibonacci(n-1) + Fibonacci(n-2); } public static void main(String[] args){ for (int i = 1; i <= 30; i++) System.out.print(Fibonacci(i) + " "); System.out.print("\n"); }}

这组的规律就是从第二个1开始,后一个数减去前一个数的差为这两个数之前的那个数,即分别为1,1,2,3,5,8,13……那么,每5个数一组,第5个数的个位数就会是5或者0,那么前100个数里就会有20个数是5的倍数.

相关搜索:

网站地图

All rights reserved Powered by www.fltk.net

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