问题描述
输出一个n行的与样例类似的数字三角形,必须使用递归来实现
输入格式
一个正整数数n,表示三角形的行数
输出格式
输出一个与样例类似的n行的数字三角形,同一行每两个数之间用一个空格隔开即可(图中只是为防止题面格式化而用'_'代替空格)
样例输入
4
样例输出
___1
__2_3
_4_5_6
7_8_9_10
数据规模和约定
n<=20
import java.util.Scanner;
public class Main {
static String[] arr ;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n =scanner.nextInt();
arr =new String[2*n];
for (int i = 0; i < arr.length; i++) {
arr[i]=" ";
}
int r =1, s=n-1,end=0;
f(s,r,end);
}
private static void f(int s, int r, int end) {
// TODO Auto-generated method stub
if(s<0)
return;
int i =0;
for(;i<s;i++)
arr[i] =" ";
int j =end+1;
for (; j <=end+r; j++) {
arr[i++]=String.valueOf(j);
arr[i++] =" ";
}
print(arr);
System.out.println();
f(s-1, r+1, j-1);
}
private static void print(String[] arr2) {
// TODO Auto-generated method stub
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr[i]);
}
}
}