输入一个奇数 n n n,输出一个由 * 构成的 n n n阶实心菱形。
输入格式
一个奇数
n
n
n。
输出格式
输出一个由 * 构成的
n
n
n阶实心菱形。
具体格式参照输出样例。
数据范围
1
≤
n
≤
99
1≤n≤99
1≤n≤99
输入样例:
5
输出样例:
*
***
*****
***
*
思路
曼哈顿距离|x1 - x2| + |y1 - y2|,所有输出*的地方曼哈顿距离<=n/2
代码
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int cx = n / 2, cy = n / 2;
for(int i = 0; i < n; i ++){
for(int j = 0; j < n; j ++){
if(Math.abs(i - cx) + Math.abs(j - cy) <= n / 2)
System.out.print("*");
else System.out.print(" ");
}
System.out.println();
}
}
}