输入两个数M、N,(0<=M<=20,1<=N<=10),你需要编一个程序将以M起始的整数排成边长为N的三角形,形式如下:
...
M+3 ...
M+1 M+4 ...
M M+2 M+5 ...
输入格式
输入有多组数据,每组数据一行,包含两个正整数M、N(0<=M<=20,1<=N<=10)。 输入以"0 0"结束
输出格式
按照题目的描述输出数字三角形: 注意: 每个数字要求占两位宽度,如果数字小于10则补上空格; 相邻两个数字之间用一个空格隔开;为了使输出更简单,行末也有一个空格。 每个三角形之后输出一个空行。
样例输入
0 2 9 3 0 0
样例输出
1 0 2 12 10 13 9 11 14
#include<iostream>
#include<stdio.h>
#include<iomanip>
using namespace std;
int main(){
int m,n,out,k,count,i,j;
while(scanf("%d %d",&m,&n)!=EOF){
if(m==0&&n==0)
break;
out=m;
for(i=0;i<n;i++)
out+=i;
count=0;
for(i=n;i>0;i--){
count++;
k=out-i+1;
for(j=0;j<n-i+1;j++){
cout<<setw(2)<<out<<" ";
out=out+i+j+1;
}
out=k;
cout<<endl;
}
cout<<endl;
}
return 0;
}