A1048. 数字三角形
时间限制:
1.0s 内存限制:
512.0MB
问题描述
输入一个边长,打印出旋转序列的三角图形。
输入格式
边长n,其中1<=n<=10
输出格式
数字三角形,一共n行,第i(1<=i<=n)行有i个数,每行相邻的两个数用一个空格符隔开
样例输入
4
样例输出
1
2 9
3 10 8
4 5 6 7
- #include <stdio.h>
- #include <stdlib.h>
- int main(){
- int n;
- while((scanf("%d",&n))!=EOF){
- int x[11][11]={0};
- int i,j,tmp=0,count=1;
- for(i=n;i>0;i--){
- tmp+=i;
- }
- x[1][1]=1,i=1,j=1;
- while(count<tmp){
- while(i<n&&x[i+1][j]==0) x[++i][j]=++count;
- while(j<n&&x[i][j+1]==0) x[i][++j]=++count;
- while(i>=1&&j>=1&&x[i-1][j-1]==0) x[--i][--j]=++count;
- }
- for(i=1;i<=n;i++){
- for(j=1;j<=i;j++)
- printf("%d ",x[i][j]);
- printf("\n");
- }
- }
- system("pause");
- return 0;
- }