求程式码:斐波那契数列:1,1,2,3,5,8,13,21…. 用java程式输出前100个数.希望用char阵列储存大数。

求程式码:斐波那契数列:1,1,2,3,5,8,13,21…. 用java程式输出前100个数.希望用char阵列储存大数。
求程式码:斐波那契数列:1,1,2,3,5,8,13,21…. 用java程式输出前100个数.希望用char阵列储存大数。
方法很多,这是一种 int a=0; int b=1; System.out.print("斐波那契数列:1,"); for(int i=0;i<10;i++){ 斐波那契数列加到后面数字会非常大会超出int型的范围,想执行自己替换吧 int c=a+b; System.out.print(c+","); a=b; b=c; }使用阵列输出斐波那契数列的前20个数字
public static int[] lieShu(int n) { int[] r = new int[n]; int preInt1 = 0; int preInt2 = 1; int currentInt = 0; for (int i = 1; i <= n; i++) { currentInt = preInt1 + preInt2; preInt2 = preInt1; preInt1 = currentInt; r[i-1] = currentInt; System.err.print(currentInt+" "); } return r; } 怎么输出阵列元素就不用写了吧斐波那契数列:1 1 2 3 5 8 13 21 34 55.
斐波那契数列通项公式推导方法
Fn+1=Fn+Fn-1
两边加kFn
Fn+1+kFn=(k+1)Fn+Fn-1
当k!=1时
Fn+1+kFn=(k+1)(Fn+1/(k+1)Fn-1)
令
Yn=Fn+1+kFn
若
当k=1/k+1,且F1=F2=1时
因为
Fn+1+kFn=1/k(Fn+kFn-1)
=>
Yn=1/kYn-1
所以
Yn为q=1/k=1(1/k+1)=k+1的等比数列
那么当F1=F2=1时
Y1=F2+kF1=1+k*1=k+1=q
根据等比数列的通项公式
Yn=Y1q^(n-1)=q^n=(k+1)^n
因为k=1/k+1=>k^2+k-1=0
解为 k1=(-1+sqrt(5))/2
k2=(-1-sqrt(5))/2
将k1,k2代入
Yn=(k+1)^n
,和Yn=Fn+1+kFn
得到
Fn+1+(-1+sqrt(5))/2Fn=((1+sqrt(5))/2)^2
Fn+1+(-1+sqrt(5))/2Fn=((1-sqrt(5))/2)^2
两式相减得
sqrt(5)Fn=((1+sqrt(5))/2)^2-((1-sqrt(5))/2)^2
Fn=(((1+sqrt(5))/2)^2-((1-sqrt(5))/2)^2)/sqrt(5)
VB程式斐波那契数列程式码
VB程式斐波那契数列程式码
m a,b,c i as integer
a =1
b=1
for i = 3 to 10
c = a b
a=b
b=c
debug.print c
next i
C++编写一个程式,输出100以内的斐波那契数列 1 1 2 3 5 8 13…
#include <stdio.h>
int main()
{
int first = 1;
int second = 1;
int third = 0;
printf("%dn", first);
printf("%dn", second);
for (;;)
{
third = first + second;
if (third > 100)
{
break;
}
printf("%dn", third);
first = second;
second = third;
}
getchar();
return 0;
}
数列1,1,2,3,5,8,13,21,34,55……斐波那契数列前2010个数中共有___个偶数
很显然斐波那契数列中的数是按照:奇数 奇数 偶数 、奇数 奇数 偶数……这样的顺序排列的
即两个奇数相加得到偶数,而偶数加奇数得到奇数,
因此每3个数中有一个偶数,
所以前2010个数中共有2010/3 =670个偶数
数列1,1,2,3,5,8,13,21,34,55……斐波那契数列前800个数中共有___个奇数
A(n+2)=A(n+1)+An
A1=1 A2=1 为奇数 则A3为偶数
A4为奇数 ,A5为奇数
A6为偶数
所以规律为奇,奇,偶,奇,奇,偶…………。
3k+1,3k+2 为奇数,
3k为偶数
800/3=266 +2/3
偶数的有266个,奇数的有800-266=534
斐波那契数列:1、1、2、3、5、8、13、21、34、55、89、144、233…… 求输出小于1000的数列之和
public class Fibonai {
public static int abc(int number){
if(number<=2){
return 1;
}else{
return abc(number-1)+abc(number-2);
}
}
这个方法算出斐波那契数列的第n项,再写个回圈计算就行了
public static void main(String[] args ){
System.out.println("输入x");
Scanner sca1 = new Scanner(System.in);
int x = sca1.nextInt();
System.out.println("输入y");
Scanner sca2 = new Scanner(System.in);
int y = sca2.nextInt();
int sum=0;
for(int i=x;i<=y;i++){
sum +=abc(i);
}
System.out.println(sum); }
}
如果sum 值过大超过21个亿int 是不够的,可以换成long,或者用大型资料。
如果计算输出小于1000只需要判断sum是否大于等于1000 大于就减去当前数列的值输出就可以了。
著名的斐波那契数列:1,1,2,3,5,8,13,21…… 该数列的第1000个数是多少?
把每项都除以3
得余数分别是:1、1、2、0、2、2、1、0、1、1、2、0、2、2、1、0……
可发现余数以【1、1、2、0、2、2、1、0】回圈,8个一回圈
2008÷8=251
也就是说,第2008个余数是第251个回圈的最后一个数
这个数是0
希望我的回答对你有帮助,采纳吧O(∩_∩)O!
满意请采纳。
用java编写程式,输出斐波那契数列的前10个数是什么?
1 1 2 3 5 8 13 21 34 55
public class Fibonai
{
public static void main(String args[])
{
int i=1,j=1;
for(int n=1;n<=5;n++)
{
System.out.print(" "+i+" "+j);
i = (int)(i+j);
j = (int)(i+j);
}
System.out.println();
}
}
1 1 2 3 5 8 13 21 34 55
我给你大概解释一下吧,这个回圈一共回圈5次,每次写出斐波那契数列中的2个数,因此一共有10个数
- 上一篇
1510131211找规律怎么解 找规律2,3,5,6,7,10,11,13,14,15,17,19,21,( )括号中填什么
找规律2,3,5,6,7,10,11,13,14,15,17,19,21, 括号中填什么 找规律2,3,5,6,7,10,11,13,14,15,17,19,21, 括号中填什么22,从规律可以看出,
- 下一篇
等比数列求和公式两个 求数列1,1,2,3,5,8,13.的一个通项公式!
求数列1,1,2,3,5,8,13.的一个通项公式 求数列1,1,2,3,5,8,13.的一个通项公式公元1202年,义大利数学家斐波那契提出了一个智力题:第一个月买回一对小兔子,第二个月小兔长成大兔
相关文章
- 程式和程序 程式设计程式 求500以内能被3和5同时整除的所有数的和,c语言程式码写全一点,谢谢啦
- 编写java程序找出2-100之间的所有素数 求大神
- 1到100奇数的乘积编程 C语言中编程计算1至100以内的奇数和偶数并分别求和,求代码
- vb语言能干嘛 vb编程。把1~100之间能被7整除的数添加到列表框
- Java多线程程序设计二十三个要点[4]
- 用java定义一个一维整型数组array={1,2,3,4,5,6,7,8,9,10},输出该数组元素之和、最大值、最小值。
- 从键盘输入一个整数 用JAVA编程从键盘输入一个正整数,计算该数的各位数字之和并输出,例如输入数是5246
- Java多线程程序设计二十三个要点[2]
- 表格中如何根据分数排序 有一串分数排列如下,1分之3,1分之2,5分之9,7分之12,3分之5,11分之18 ,···请问:第100个是多少;
- 小数保留位数方法 使用java代码实现保留小数点的位数
爱学记

微信收款码
支付宝收款码