首先,让我们来看看,一个最简单的的数列打印,从1一直累加到20。也就是1+2+3+4+5....
做这种题有很多种做法。关键是要有思路。
从上图中可以看到一个分析的过程
public int sum(int max){
int sum=1;
int i=1;
while(i<max){
//可以看到中间的一列是递增的,那我就拿i来做递增
i++;
//而sum的位置也很有意思,即是第一行的结束,又是下一次的加数
sum=sum+i;
}
return sum;
}
那接下来我们来看如何求一组数列:
斐波那契数列:0,1,1,2,3,5,8,13,21……
首先是下标越界
虽然经过调试过没有下标越界,但值却全部都是0,然后经过调试发现,第一轮的值都是零,于是果断把a初始化为1
public void Fibonacci(int max){
//调到4以后没有越界
int arr=this.Shu(max);
//System.out.println(arr);
int k[]=new int[arr+4];
int a=1;
for(int i=1;i<=arr;i=i+3){
k[i+1]=a;
k[i+2]=k[i]+k[i+1];
k[i+3]=k[i+1]+k[i+2];
a=k[i+2]+k[i+3];
if(a>max){
break;
}
//System.out.println("a="+a);
}
int p=1;
do{
System.out.print(k[p]+" ");
p++;
}while(p<k.length&&k[p]!=0);
}
public int ArrCount(int max){
String str=String.valueOf(k);
return str.length()+str.length()*4;
}
以下为优化代码
public static int[] Update_2(int size) {
int data[] = new int[size];
// -----------------------------
for (int i = 0; i < data.length; i++) {
//观察数列会发现i小于2时下标和数值同步
if (i < 2) {
data[i] = i;
} else {
data[i] = data[i - 1] + data[i - 2];
}
}
return data;
}
其实一个程序员的大部时间都是用在编写和调试两个方面,所以思路越清淅,那么这两方面所耗的时间自然就会很短。
- 大小: 1.2 MB
- 大小: 1.2 MB
- 大小: 53.4 KB
- 大小: 45.2 KB
分享到:
相关推荐
见笑了~不值钱的C++代码。练手用的,新手作业可以参考
java用非递归的方法打印Fibonacci数列。。。。。。。。
这是我做Thinking in Java的时候做的一道小题目,贡献出来大家看看
求解fibonacci数列的前20项的VC编码,实验过可以用
里面是【斐波那契数列】的前100项,可以当做学习过程中对照是否正确等使用,加油!
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。java代码实现该数列
C语言程序设计-用函数求fibonacci数列前n项的和;说明:fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项的和;例如:当n=28时,运行结果:832039.c
本文实例讲述了Python打印斐波拉契数列的方法。分享给大家供大家参考。具体实现方法如下: #打印斐波拉契数列 #!/usr/bin/python def feibolaqi(n): if n == 0 or n == 1: return n else: return feibolaqi(n-1...
打印Fibonacii数列前10个元素:1,1,2,3,5,8,13,21,…
12、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值 1 1 2 3 5 8 13 21 34 规律:一个数等于前两个数之和 //计算斐波那契数列(Fibonacci)的第n个值 public class Fibonacci{ public static void main...
write a program tg\ fd
利用Python代码编程实现打印斐波那捏数列,本人亲自测试打印结果,一切运行正常,源码在其中,直接执行即可无需二次变更。
斐波那契程序取一个整数,并打印出斐波那契数列的该项。 在程序中创建斐波那契数列。 只存储最后两个值。
在数学中,斐波那契数列/序列是以下整数序列中的数字 0,1,1,2,3,5,8,13,21,....,. 序列中的前两个数字是0 和 1,后面的每个数字都是前两个的和。
java8集合源码PBC-Vbeliaev Python 新兵训练营项目(SoftServe,2017 年 12 月)作者:Beliaev Viacheslav 目录 第一天 ...打印所需斐波那契数的函数。 您可以运行脚本Fibonacci.py number (int): (M
使用Scanner类从用户输入中获取斐波那契数列的起始值和长度,并使用一个数组...最后将斐波那契数列的结果打印到控制台上。 这个程序使用了Java的高级特性,如用户输入、数组和循环,以及一些数学概念,如斐波那契数列。
蓝桥杯 —— 基础练习 Fibnoacci 数列测试数据 蓝桥杯 —— 基础练习 Fibnoacci 数列测试数据
【题目】大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)n<=39。 【思路】斐波那契数列:第n项是第n-1项和第n-2项的和; 当 n=0,f(n)=0; n=1,f(n)=1; n>1,f(n...
按钮"第一题":找出100-200之间的所有素数,并对它们求和。 按钮"第二题":求S=a+aa+aaa+……+aaaa…a的值。 按钮"第三题":斐波那契数列 按钮"第四题":编写程序,打印图形。