题目描述
输入一个奇数 n
,输出一个由 * 构成的 n
阶实心菱形。
输入格式
一个奇数 n
。
输出格式
输出一个由 * 构成的 n
阶实心菱形。
具体格式参照输出样例。
数据范围
1≤n≤99
样例
输入样例:
5
输出样例:
*
***
*****
***
*
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int n;
cin >> n;
int cx = n/2, cy = n/2;
for (int i = 0 ;i < n ; i ++){ //i:行
for (int j = 0 ;j < n; j ++){ // j:纵
if(abs(i - cx) + abs(j - cy) <= n / 2) //算到中心点的绝对值所以-
cout << '*';
else
cout << ' ';
}
cout << endl;
}
return 0;
}
// 4 3 2 3 4 到中心点的绝对值小于2的都为*,否则为空格
// 3 2 1 2 3
// 2 1 0 1 2
// 3 2 1 2 3
// 4 3 2 3 4