题意很好理解
具体思路:
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控制一下
具体代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#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; }