2914 - 基础图案9
时间限制 : 1 秒
内存限制 : 128 MB
输入N,打印相应图案
题目输入
一行:整数N(0<N<=20)
题目输出
N行,每个数占四个字符位
输入/输出样例
输入格式
5
输出格式
1 2 6 7 15 3 5 8 14 4 9 13 10 12 11
C++解答
#include<iostream> #include<iomanip> using namespace std; int a[21][21]; int main() { int n; cin>>n; int t=1,k=1,x=2,y=0; while (t<=n*(n+1)/2) { while (x-1>=1 && y+1<=n) { a[--x][++y]=k++; t++; } a[x][++y]=k++; t++; while (x+1<=n && y-1>=1) { a[++x][--y]=k++; t++; } a[++x][y]=k++; t++; } for (int i=1; i<=n; i++) { for (int j=1; j<=n-i+1; j++) cout<<setw(4)<<a[i][j]; cout<<endl; } return 0; }