gpt4 book ai didi

java - 关于基数或算法的问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:14:00 25 4
gpt4 key购买 nike

我是一个非常基础的 java 用户。我正在为这门课做这件事,并且我已经编写了整个程序,但我终其一生都无法弄清楚获得所需输出所需的算法,所以我想知道是否有任何 Java 或 Math大师们可以帮助像我这样的普通人摆脱困境。明天交作业,这是最后一个问题。感谢您的帮助。

这是我的主要方法中的代码,其中注释了所需的输出,后面是序列 2 方法。

 for(int i = 0; i < 10; i++) {
System.out.print(sequence2(i) + " "); // 1, 2, 4, 5, 7, 8, 10, 11, 13, 14
}



public static int sequence2(int n) {
if(n == 0)
return 1;
if(n == 1)
return 2;
if(n == 2)
return 4;
if(n == 3)
return 5;

return sequence(n-3) + sequence(n-3);}

我不确定这是我的基础问题,还是我在底部的计算问题。非常感谢任何帮助!

最佳答案

更新

因为它必须是一个递归方法,所以这样做:

public static int sequence2(int n) {
return (n <= 1 ? n + 1 : 3 + sequence2(n - 2));
}

原始答案

这样做就可以了:

public static int sequence2(int n) {
return n / 2 * 3 + n % 2 + 1;
}

输出

1   2   4   5   7   8   10   11   13   14   

要查看它是如何加起来的,这里是中间值:

n           0   1   2   3   4   5    6    7    8    9
-----------------------------------------------------
n / 2 0 0 1 1 2 2 3 3 4 4

n / 2 * 3 0 0 3 3 6 6 9 9 12 12
n % 2 0 1 0 1 0 1 0 1 0 1
1 1 1 1 1 1 1 1 1 1 1
=====================================================
result 1 2 4 5 7 8 10 11 13 14

关于java - 关于基数或算法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43907157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com