100 #4368. C++ L18 八进制金字塔

C++ L18 八进制金字塔

C++ L18 八进制金字塔(50分)

题目名称:八进制金字塔

题目描述:

输入一个八进制整数a和一个十进制整数h,根据规则,输出一个八进制金字塔。

  1. 第一个数为a;
  2. 从第二行起,金字塔的每一行都比上一行多一个数;
  3. 按从左往右,从上往下的顺序排列,第i行的每一个数,都比上一个数大i;
  4. 金字塔的最后1行的八进制数的左边没有空格,倒数第2行左边有3个空格,倒数第3行左边有6个空格,……以此类推。

例如:当a = 4,h = 5时,八进制金字塔为:

4

     6     10

  13    16    21

25 31 35 41

46 53 60 65 72

第1行1个数是八进制数4;

第2行第1个数是八进制数6,比八进制数4大2;第2个数是八进制数10,比八进制数6大2;

第3行第1个数是八进制数13,比八进制数10大3,……以此类推。~~

输入:

仅1行,包含一个八进制整数a和一个十进制整数h,两数之间用一个空格隔开。

两个数都不大于十进制数20。

输出:

h行,按样例的格式进行输出;每个八进制数的显示占用6个字符宽度,且向左对齐,两个相邻的八进制数之间没有额外的空格。

注意:

  1. 金字塔图案的第一行前面不能有多余的空行;
  2. 金字塔图案的最左侧从第一列开始输出,八进制数严格按题目要求的格式显示,数之间的空格不能多也不能少。

输入样例1:

4 5

输出样例1:

4

     6     10

  13    16    21

25 31 35 41

46 53 60 65 72

输入样例2:

20 6

输出样例2:

20

        22    24

     27    32    35

  41    45    51    55

62 67 74 101 106

114 122 130 136 144 152

Limitation

1s, 1024KiB for each test case.