用java编程杨辉三角的代码?
3个回答
推荐于2018-04-29 · 知道合伙人互联网行家
关注
展开全部
1.杨辉三角形由数字排列,可以把它看做一个数字表,其基本特性是两侧数值均为1,其他位置的数值是其正上方的数字与左上角数值之和,下面是java使用for循环输出包括10行在内的杨辉三角形
2.思路是创建一个整型二维数组,包含10个一维数组。使用双层循环,在外层循环中初始化每一个第二层数组的大小。在内层循环中,先将两侧的数组元素赋值为1,其他数值通过公式计算,然后输出数组元素。
代码如下:
public class YanghuiTriangle {
public static void main(String[] args) {
int triangle[][]=new int[10][];// 创建二维数组
// 遍历二维数组的第一层
for (int i = 0; i < triangle.length; i++) {
triangle[i]=new int[i+1];// 初始化第二层数组的大小
// 遍历第二层数组
for(int j=0;j<=i;j++){
// 将两侧的数组元素赋值为1
if(i==0||j==0||j==i){
triangle[i][j]=1;
}else{// 其他数值通过公式计算
triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
}
System.out.print(triangle[i][j]+"\t"); // 输出数组元素
}
System.out.println(); //换行
}
}
}
2.思路是创建一个整型二维数组,包含10个一维数组。使用双层循环,在外层循环中初始化每一个第二层数组的大小。在内层循环中,先将两侧的数组元素赋值为1,其他数值通过公式计算,然后输出数组元素。
代码如下:
public class YanghuiTriangle {
public static void main(String[] args) {
int triangle[][]=new int[10][];// 创建二维数组
// 遍历二维数组的第一层
for (int i = 0; i < triangle.length; i++) {
triangle[i]=new int[i+1];// 初始化第二层数组的大小
// 遍历第二层数组
for(int j=0;j<=i;j++){
// 将两侧的数组元素赋值为1
if(i==0||j==0||j==i){
triangle[i][j]=1;
}else{// 其他数值通过公式计算
triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];
}
System.out.print(triangle[i][j]+"\t"); // 输出数组元素
}
System.out.println(); //换行
}
}
}
2013-09-20
展开全部
杨辉三角是?呵呵 以前学的 现在忘记了 可以给个公式或者简单的排列下吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-20
展开全部
例题四十八、
题目:杨辉三角。
提示: 解此题需要使用二维数组。首先确定int型的二维数组的最高维数和次高维数,然后,从第二行开始,每一行第二列到倒数第二列,其中每一个元素的值都满足是上一行前一个元素和后一个元素的和。
源代码:
public class YanHui
{
public static void main(String args[])
{
int x=Integer.parseInt(args[0]);
int y=x*2+1;
int[][] n=new int[x][y];
n[0][y/2]=1;
for(int i=1;i<n.length;i++)
{
for(int j=1;j<n[i].length-1;j++)
{
n[i][j]=n[i-1][j-1]+n[i-1][j+1];
}
}
for(int i=0;i<n.length;i++)
{
for(int j=0;j<n[i].length;j++)
{
if(n[i][j]==0)
{
System.out.print(" "+" ");
}
else
{
System.out.print(n[i][j]+" ");
}
}
System.out.println();
}
}
}
题目:杨辉三角。
提示: 解此题需要使用二维数组。首先确定int型的二维数组的最高维数和次高维数,然后,从第二行开始,每一行第二列到倒数第二列,其中每一个元素的值都满足是上一行前一个元素和后一个元素的和。
源代码:
public class YanHui
{
public static void main(String args[])
{
int x=Integer.parseInt(args[0]);
int y=x*2+1;
int[][] n=new int[x][y];
n[0][y/2]=1;
for(int i=1;i<n.length;i++)
{
for(int j=1;j<n[i].length-1;j++)
{
n[i][j]=n[i-1][j-1]+n[i-1][j+1];
}
}
for(int i=0;i<n.length;i++)
{
for(int j=0;j<n[i].length;j++)
{
if(n[i][j]==0)
{
System.out.print(" "+" ");
}
else
{
System.out.print(n[i][j]+" ");
}
}
System.out.println();
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询