说来这道算法题,还是很有故事性的,这个数列真是记不清了,然后百度准备去学学,巧了百度到了还有是视频,本来不想打开视频的,鬼使神差的点了,然后是一个讲财经的,你没有听错,不是讲解java怎么去解析的,就很神奇,前两数之和等于第三个数,两数相除约为黄金比例,然后讲了几乎都是关于财经的,因为人家就是讲财经的谈到了炒股什么的大部分都是这个数列,虽然咱不懂哈,末了,只能感叹真是一个神奇的数列。
上正题:交换法交换临时前两数输出第三个数(还未优化,笔者本着先解出来,然后思考怎么优化解决)
public class niuke { //序号0、1、2、3、4、5、6、7、8、9 //数列0、1、1、2、3、5、8、13、21、34、 public static void main(String[] args) { System.out.println(toRes(8)); } public static int toRes(int num){ int count = 1; int res=0; int i0=0; int i1=1; if(num==0||num==1) res=num; while (count<num){ res=i0+i1;//作为第三个数 i0=i1;//作为第一个数 i1=res;//作为第二个数 count++; } return res; } }