这道题大一上学期学c语言的时候老师布置过,当时不知道什么算法,记录一下当时写的递归代码,没想到能AC
import java.util.Scanner;
public class Main{
static int n;
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
n=sc.nextInt();
f(1,n/2,0);
}
static void f(int a,int b,int flag){
if(a<0)return;
for(int i=0;i<b;i++)System.out.print(" ");
for(int i=0;i<a;i++)System.out.print("*");
System.out.println();
if(a>=n)flag=1;
if(flag==0)f(a+2,b-1,0);
else f(a-2,b+1,1);
}
}