这有个杨辉三角(JAVA)程序,请高手给出详解,每一步都解释?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这有个杨辉三角(JAVA)程序,请高手给出详解,每一步都解释?相关的知识,希望对你有一定的参考价值。
package com.bift;
import java.io.*;
//杨辉三角
public class Test
public static void main(String[] args) throws Exception
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String input=br.readLine();
int n=Integer.parseInt(input);
int a[][]=new int[n][n];
for(int i=0;i<n;i++)
a[i][0]=1;
a[i][i]=1;//第一列和对角线都是1
for(int i=2;i<n;i++)
for(int j=1;j<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
//打印
for(int i=0;i<n;i++)
for(int j=0;j<=i;j++)
String str="";
int value=a[i][j];
if(value<10)
str=value+" ";
if(value>=10 && value<100)
str=value+" ";
if(value>=100)
str=value+" ";
System.out.print(str);
System.out.println();//换行
把重点放到杨辉三角上来。。。
杨辉三角的思想是:每一个数字都是它肩上两个数之和。
想象着把这个三角拉成直角的:
o x x x x
o o x x x
o o o x x
o o o o x
o o o o o
在上面这个数组中,o表示三角内的,x表示三角外的
每一个位置的数字a[i][j] = 它上面的数字a[i - 1][j] + 它左上角的数字a[i - 1][j - 1].
该程序打印部分是将每一行的所有元素以及元素间的空白连成一个串来输出,当然,杨辉三角外的部分要稍加处理就行了。
http://baike.baidu.com/view/7804.htm
第十二幅图片比较好,建议瞅瞅。
------以上仅代表个人观点------ 参考技术A 这个不太好解释 这个是我写的
public class yanghuisanjiao
public static void main(String[] args)
int n = 10;
int i =0;
int j=0;
int[][] a=new int[n][j];
for(i=0;i<n;i++)
int k= 10-i;
for(int k1=1;k1<2*k;k1++)
System.out.print(" ");
int[] b= new int[i+1];
a[i]=b;
for (j=0; j<=i; j++ )
if(j == 0&& i==0)
System.out.println("1");
else if(j==0)
a[i][j]=1;
System.out.print("1 ");
else if (j<i)
a[i][j]=a[i-1][j-1]+a[i-1][j];
if(a[i][j]<10)
System.out.print(a[i][j]+" ");
else if(a[i][j]<100)
System.out.print(a[i][j]+" ");
else
System.out.print(a[i][j]+" ");
else
a[i][j]=1;
System.out.println("1");
n可以改任何正整数追问
我就需要详细解释,帮忙看看吧
追答还是以前学的时候自己写的呐 早就忘了怎么想的了 试着自己写一下
首先你自己得看一下那个杨辉三角 然后找规律
在这里都可以看到
0Q 参考技术C 代码: public class YhuiTest public static void main(String[] args) final int Row = 6; int yh[][] = new int[Row][Row]; for (int i = 0; i
以上是关于这有个杨辉三角(JAVA)程序,请高手给出详解,每一步都解释?的主要内容,如果未能解决你的问题,请参考以下文章