题目描述
如题看看就好....
找了一个比较简单的规律....
#include <iostream>
#include <algorithm>
using namespace std;
int n;
int main()
{
while (cin >> n)
{
for (int i = 0; i < n; i ++ )
{
for (int j = 0; j < n; j ++ )
cout << abs(i - j) + 1 << ' '; // 规律
cout << endl;
}
if (n) cout << endl;
}
return 0;
}
不需要用数组存值,直接遍历输出abs(i-j)+1就可以了
哈哈,这是好久以前写的,当时刚刚学
咱就是说......我的那么不简洁是吧。。。
虽然没有大佬的那么简洁,但也还行。
你太聪明了
震撼我一百年
膜拜!太强了!
if(n) cout << endl;
可以解释一下吗?不太懂if(n)里面的n如果非0,那就输出一个换行,如果是0那就不执行这条语句,就是结束了
好厉害的佬儿
+1
是怎么找到abs(i - j) + 1的规律的,可以讲一下吗?
一开始准备暴力模拟的时候发现有些麻烦,当时刚刚开始学不知道咋写,然后就试着想了一下和坐标有没有关系,发现很多地方是对称的,然后就。。。QVQ
me too.
wc,和我想法一样
看到你的之后,我对我的一阵阵无语
我写的把我给逗笑了QAQ
哈哈,一开始我也差不多,写着写着发现好像可以偷吃步QVQ
nbnbnbnbnbnbnbnbnbnbnbnbnbnbnbbnbnb
tql
tql
为什么if(n)?
因为这个测试是你每输入一个n他就会打印一个矩阵嘛,所以说如果你输入n = 0或者不输入的时候就停止循环啦QVQ
好谢谢 大佬
谢谢 大佬
谢谢,看懂了
tql
tql