关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
5天前关门了。
改进这个问题
分配-写两个java程序!
第一种使用递归算法。
第二种算法采用非递归算法。
他们必须确定列表(任何长度)是否具有以下模式:
单元[0]=2;
单元格[1]=2平方=4;
单元格[3]=4平方=16;
模式是一个单元格[n+1]的任何值等于单元格[n]中值的平方。
e、 g:2、4、16、256、65536、4294967296
问题:
有人能给我举个代码示例吗?
提前谢谢!
2条答案
按热度按时间py49o6xq1#
据我所知,这个问题没有具体的算法,但下面是代码示例:
递归:
注意这里的参数是
int[] sequence
和一个int index
而这个问题只会给你一个int[] sequence
. 只需编写如下函数:它应该只将序列作为参数转换为使用序列和索引。
非递归:
希望这对你有意义!
2ic8powd2#
这里有一种使用
BigInteger
. 但即便如此,我还是限制了8
因为它们变大了。迭代调用。
印刷品
重复呼叫
印刷品
验证方法
迭代法。
只需将第一个术语初始化为
Biginteger.TWO
.然后遍历列表,将前面的每一项提升到
2
.递归方法。
虽然它可以在没有助手的情况下完成,但是使用助手方法更简单、更有效。
根据分配阵列
n
初始化0th
元素到2
.如有需要,请立即返回
n == 1
否则,调用helper方法。递归调用方法直到
n == 2
然后简单地分配n-1
元素中的值n-2
提升到2的幂然后退回条款。