gpt4 book ai didi

java - 帕斯卡的三角形 Java 实现

转载 作者:行者123 更新时间:2023-12-01 20:53:47 24 4
gpt4 key购买 nike

我想通过向方法提供行号和列号来找出帕斯卡三角形的正确数量。

我找到了这段代码:

public static int getPascalValue(int row, int column) {
if ( column == 0 || column == row) {
return 1;
}
return getPascalValue(row - 1, column - 1) + getPascalValue(row - 1, column);
}

public static void main(String args[]) {
System.out.println("\r\n"+getPascalValue(3,2));
}

对我来说似乎是正确的,但给出了错误的数字。

例如,main 应该结果为 2,但它给了我 3,因为:

    1 
1 1
1 2 1
1 3 3 1

我无法找出错误的递归部分,有人可以帮助我吗?

谢谢!

最佳答案

这与递归部分或 getPascalValue() 方法本身(本身)无关:它与基于 0 的索引和基于 1 的索引之间的差异有关。代码编写为假设从 0 开始的索引,即三角形的顶部位于 (0,0) 处;但您似乎期望基于 1 的索引,在这种情况下顶部将位于 (1,1)

从外部调用 getPascalValue() 方法时只需纠正这一点,即在 main() 中执行以下操作:

int row = 3, column = 2;
System.out.println("\r\n"+getPascalValue(row - 1, column - 1));

关于java - 帕斯卡的三角形 Java 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42705985/

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