题目描述
重点在于规律的发现
样例
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n,n)//写法妙
{
for(int i=1;i<=n;i++) //i,j从一开始,目的在于输出时,可以输出i,j;这里并没有用到数组,只是一种输出方式
{ for(int j=1;j<=n;j++)
{
int up=i,down=n-i+1,left=j,right=n-j+1; //输出的数,本质上是他到上下左右四个边最小的距离的值
cout<<min(min(up,down),min(left,right))<<' '; //注意每个数输出后有空格
}cout<<endl;} //每一行循环完之后回车
cout<<endl;
}
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla