使用二维数组打印一个10行杨辉三角
Posted yangbocsu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用二维数组打印一个10行杨辉三角相关的知识,希望对你有一定的参考价值。
使用二维数组打印一个10行杨辉三角
从第3行起,除了首尾都是1外,其他位置的关系:arr[i][j] = arr[i-1][j] + arr[i-1][j-1]
package com.yangbocsu.yanghuisanjiao;
import java.util.Arrays;
public class yanghui {
public static void main(String[] args) {
int[][] arr = new int[10][10];
arr[0][0] = 1;
arr[1][0] =1;
arr[1][1] = 1;
for (int i = 2; i < arr.length; i++) //从第3行开始处理
{
for (int j = 0; j < arr[i].length; j++)
{
if (j==0 || j==i) //先处理每行的 首尾位 为1;
{
arr[i][j] = 1;
}
else //中间元素
{
arr[i][j] = arr[i-1][j] +arr[i-1][j-1];
}
}
}
//输出
for (int i = 0; i < arr.length; i++)
{
for (int j = 0; j<arr[i].length; j++)
{
if (arr[i][j] == 0) //为0的元素不输出
{
System.out.println("");
break;
}
else
{
System.out.print(arr[i][j]+"\\t");
}
}
}
}
}
【升级版】
package com.yangbocsu.yanghuisanjiao;
import java.util.Arrays;
public class yanghui {
public static void main(String[] args) {
int[][] arr = new int[10][];
//首尾处理
for (int i = 0; i < arr.length; i++)
{
arr[i] = new int[i+1];
arr[i][0] = 1; //给首末元素赋值
arr[i][i] =1;
for (int j = 1; j < arr[i].length - 1; j++) //逐行赋值
{
arr[i][j] = arr[i-1][j]+arr[i-1][j-1];
}
}
//输出
for (int i = 0; i < arr.length; i++)
{
for (int j = 0; j<arr[i].length; j++)
{
System.out.print(arr[i][j]+"\\t");
}
System.out.println();
}
}
}
以上是关于使用二维数组打印一个10行杨辉三角的主要内容,如果未能解决你的问题,请参考以下文章