#include <cstdio> #include <iostream> using namespace std; int main(){ int n; cin>>n; int m=2*n-1; int num[m][m]={0}; for(int i=0;i<m;i++){ for(int j=0;j<m;j++){ num[i][j]=0; } } for(int i=0;i<n;i++){ int a=1; for(int j=n-1-i;j<=n-1;j++){ num[i][j]=a; a++; } a=1; for(int j=n-1+i;j>=n-1;j--){ num[i][j]=a; a++; } } /* 5 Sample Output: 012345678 0 1 1 121 2 12321 3 1234321 4123454321 5 1234321 6 12321 7 121 8 1 */ for(int i=n;i<m;i++){ int a=1; for(int j=i-n+1;j<=n-1;j++){ num[i][j]=a; a++; } a=1; for(int j=m-i+n-1-1;j>=n-1;j--){ num[i][j]=a; a++; } } for(int i=0;i<n;i++){ for(int j=0;j<=n-1+i;j++){ if(num[i][j]!=0){ printf("%d",num[i][j]); }else{ printf(" "); } } printf("\n"); } for(int i=n;i<m;i++){ for(int j=0;j<=m-i+n-1-1;j++){ if(num[i][j]!=0){ printf("%d",num[i][j]); }else{ printf(" "); } } if(i!=m-1){ printf("\n"); } } } |
Double click to view unformatted code.