gpt4 book ai didi

java - 使用第 1、2 或 3 步计算到达第 4 个楼梯的方式

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

public static void main(String[] args) {
int n = 46;
int [] arr = new int[n];
arr[1]=1;
arr[2]= 2;
arr[3]=4;
for(int i=3;i<n;i++){
arr[i]= arr[i-1]+arr[i-2]+arr[i-3];
}
System.out.println(arr[3]);
}

My output is coming as 6 , but in real it should be 7.

arr[1] = 1 way.
arr[2] = 1,1 or 2
arr[3] = 1,1,1 ; 2,1 ; 1,2 ; 3

so in total the answer should be 7, where i am getting wrong??

最佳答案

您的 for 循环以 i = 3 开始,但您已经填写了 res[3]。如果达到 3 的方法数与硬编码值 arr[3] = 4; 中的相同,这不是问题,但它是 不是

事实上,您从未将 res[0] 设置为 1,因此,它将计算 res[3] = res[2] + res [1] + res[0] 作为 3,而不是 4

您还返回了 res[3] 而不是 res[n],并且您应该初始化一个长度为 n+1 的数组。

因此,最小的修复方法是将 res[0] 也设置为 1:

public static void main(String[] args) {
int n = 46;
int [] arr = new int[<b>n+1</b>];
<b>arr[0] = 1;</b>
arr[1] = 1;
arr[2] = 2;
arr[3] = 4;
for(int i = 3; i < n; i++){
arr[i]= arr[i-1]+arr[i-2]+arr[i-3];
}
System.out.println(arr[<b>n</b>]);
}

关于java - 使用第 1、2 或 3 步计算到达第 4 个楼梯的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58471877/

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