题意很好理解

 

具体思路:

3 4 6 9 4
  5 7 1 5
    8 2 6
      3 7
        8
看成是
3
4 5
6 7 8
9 1 2 3
4 5 6 7 8
再做就可以了,就是数字变换的时候需要%10控制一下

具体代码:
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int map[22][22];
int main()
{
    int n,begin;
    cin>>n>>begin;
    int num=begin;
    for(int i=0;i<n;i++)
    {  
        for(int j=0;j<=i;j++)
        {
            
            if(num%10==0)
            {
                num=1;
                map[j][i]=1;
                num++;
            }
            else
            {
                map[j][i]=num%10;
                num++;
            }
        }
    }
    int j=0;
    while(1)
    {
        if(j==n)
            break; 
        for(int i=0;i<n;i++)
        {
            if(j<=i)
            {  
                cout<<map[j][i];
                if(i<n-1)
                    cout<<" ";
                else
                {
                    j++;
                    cout<<endl; 
                }
            }
            else
                cout<<"  "; 
        }
    }
    system("pause");
    return 0;
} 
View Code

 

posted on 2014-05-17 20:48  903SW-BAO  阅读(172)  评论(0编辑  收藏  举报