java编程题 杨辉三角形填空

publicclassA{staticlongf(introw,intcol){if(row<2)return1;if(col==0)return1;if(col==ro... public class A
{
static long f(int row, int col){
if(row<2) return 1;
if(col==0) return 1;
if(col==row) return 1;
long[] a = new long[row+1];
a[0]=1;
a[1]=1;
int p = 2;
while(p<=row){
a[p] = 1;
for( __________________ ) a[q] = a[q] + a[q-1];//填空
p++;
}
return a[col];
}
public static void main(String[] args){
System.out.println(f(6,2));
System.out.println(f(6,3));
}
}
展开
 我来答
stzdzyhs
2017-12-21 · TA获得超过233个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:43.8万
展开全部
for (int q = p-1;q>=1;q--)// 填空
a[q] = a[q] + a[q - 1];
首先, 由于后面的代码使用了q变量, 前面又没有定义, 所以,q应该是在for里面定义的。
杨辉三角
1
1 1
1 2 1
1 3 3 1
。。。。。

每一行前后都是1, 中间的数是 上一行对应的 idx和idx-1的数字和,即
a[q] = a[q] + a[q - 1];
但由于不能从前往后填,因为一个数字依赖于前面一个数字,所以for循环是从后往前填
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式