100 #4369. C++ L18 十六进制直角三角形

C++ L18 十六进制直角三角形

C++ L18 十六进制直角三角形(50分)

题目名称:十六进制直角三角形

题目描述:

输入一个十六进制整数n和一个十进制整数h,根据规则,输出一个十六进制直角三角形。

  1. 第一行的数为n;
  2. 从第二行起,每一行都比上一行多一个数;
  3. 按从左往右,从上往下的顺序排列,每一个数都比上一个数大h。

例如:当n = 14, h = 5时,十六进制直角三角形为:

14

19 1E

23 28 2D

32 37 3C 41

46 4B 50 55 5A

第1行的数是十六进制数14;

第2行第1个数是十六进制数19,比十六进制数14大5;第2个数是十六进制数1E,比十六进制数19大5;

第3行第1个数是十六进制数23,比十六进制数1E大5;……以此类推。~~

输入:

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

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

输出:

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

注意:

  1. 三角形图案的第一行前面不能有多余的空行;
  2. 三角形图案的最左侧从第一列开始输出,十六进制数严格按题目要求的格式显示,数之间的空格不能多也不能少;
  3. 十六进制数中的英文字符统一用大写字母表示。

输入样例1:

14 5

输出样例1:

14

19 1E

23 28 2D

32 37 3C 41

46 4B 50 55 5A

输入样例2:

F 6

输出样例2:

F

15 1B

21 27 2D

33 39 3F 45

4B 51 57 5D 63

69 6F 75 7B 81 87

Limitation

1s, 1024KiB for each test case.