试题 算法训练 递归输出数字三角形
资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
问题描述
输出一个n行的与样例类似的数字三角形,必须使用递归来实现
输入格式
一个正整数数n,表示三角形的行数
输出格式
输出一个与样例类似的n行的数字三角形,同一行每两个数之间用一个空格隔开即可(图中只是为防止题面格式化而用'_'代替空格)
样例输入
4
样例输出
___1
__2_3
_4_5_6
7_8_9_10
数据规模和约定
n<=20
package 算法训练;
import java.util.Scanner;
public class ALGO449 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
int j = n - 1;
x(n, j);
}
static int a = 1;
public static void x(int n, int j) {
if (n == 0) {
return;
}
for (int i = 0; i < n - 1; i++) {
System.out.print(" ");
}
for (int i = 0; i < n - j; i++) {
System.out.print(a + " ");
a++;
}
j -= 2;
System.out.println();
x(n - 1, j);
}
}