问题描述
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。
它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。
下面给出了杨辉三角形的前4行:
1
1 1
1 2 1
1 3 3 1
给出n,输出它的前n行。
输入格式
输入包含一个数n。
输出格式
输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。
样例输入
4
样例输出
1
1 1
1 2 1
1 3 3 1
数据规模与约定
(1):在打印杨辉三角形时,需要注意的一个问题是,在赋值的两个for()循环中,i与j的位置摆放问题。
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。
它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。
下面给出了杨辉三角形的前4行:
1
1 1
1 2 1
1 3 3 1
给出n,输出它的前n行。
输入格式
输入包含一个数n。
输出格式
输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。
样例输入
4
样例输出
1
1 1
1 2 1
1 3 3 1
数据规模与约定
1 <= n <= 34。
直接上代码:
package BasicExercise;
import java.io.IOException;
import java.util.Scanner;
public class Main {
private final static int N=36;
private int number=0;
public void print(int size){
int [][] array= new int[N][N];
for(int i=0;i<=size+1;i++){
for (int j=0;j<=size+1;j++){
array[i][j]=0;
}
}
array[1][1]=1;
//System.out.println("What?");
//计算这个三角形
for(int j=1;j<=size+1;j++){
for (int i=2;i<=size+1;i++){
array[i][j]=array[i-1][j-1]+array[i][j-1];
}
}
//输出这个杨辉三角形
for(int i=2;i<=size+1;i++){
for (int j=1;j<=size+1;j++){
if(array[j][i]!=0)
System.out.print(array[j][i]);
/*else
break;*/
}
System.out.println();
}
}
public static void main(String [] args){
Main ma= new Main();
/*try {
ma.number= System.in.read();
System.out.println("size="+ma.number);
} catch (IOException e) {
e.printStackTrace();
}
*/
Scanner scan = new Scanner(System.in);
ma.number= scan.nextInt();
System.out.println("ma.number="+ma.number);
ma.print(ma.number);
}
}
(1):在打印杨辉三角形时,需要注意的一个问题是,在赋值的两个for()循环中,i与j的位置摆放问题。
(2):在Java中,我们选择在控制台输入一个参数的方法是使用Scanner,下面通过JDK文档来看看Scanner类的使用方法:
A simple text scanner which can parse primitive types and strings using regular expressions.
A Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace. The resulting tokens may then be converted into values of different types using the various next methods.
For example, this code allows a user to read a number from System.in:
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
上面的例子即是通过Scanner来输入一个参数。