Edited at

ずんだの二桁の整数の桁入れ替えと合計と剰余問題 Ruby編

2桁の自然数と、その1桁目と2桁目を入れ替えた数の合計が11の倍数になっていることを個別の計算結果で表示してみましょう。


ルール


  1. 10 から 99 までの自然数を A とする

  2. A の1桁目と2桁目を入れ替えた数を B とする

  3. A と B の合計を C とする

  4. C を 11 で割った場合の剰余を D とする

  5. 10 から 99 までの自然数に関して A , B, C, D を Mardown で出力する

  6. Markdown のフォーマットは以下のような形式とする

base|reverse|sum|surplus

---:|---:|---:|---:
10|1|11|0
※中略
99|99|198|0


プログラム

base = [*10..99]

sums = base.each_with_object([]).with_index do |(e, a), i|
reverse = base[i].to_s.reverse.to_i
sum = base[i] + reverse
a << [base[i], reverse, sum, sum % 11]
end
sums

puts "base|reverse|sum|surplus"
puts "---:|---:|---:|---:"
sums.each do |numbers|
puts numbers.join("|")
end


出力

base|reverse|sum|surplus

---:|---:|---:|---:
10|1|11|0
11|11|22|0
12|21|33|0
13|31|44|0
14|41|55|0
15|51|66|0
16|61|77|0
17|71|88|0
18|81|99|0
19|91|110|0
20|2|22|0
21|12|33|0
22|22|44|0
23|32|55|0
24|42|66|0
25|52|77|0
26|62|88|0
27|72|99|0
28|82|110|0
29|92|121|0
30|3|33|0
31|13|44|0
32|23|55|0
33|33|66|0
34|43|77|0
35|53|88|0
36|63|99|0
37|73|110|0
38|83|121|0
39|93|132|0
40|4|44|0
41|14|55|0
42|24|66|0
43|34|77|0
44|44|88|0
45|54|99|0
46|64|110|0
47|74|121|0
48|84|132|0
49|94|143|0
50|5|55|0
51|15|66|0
52|25|77|0
53|35|88|0
54|45|99|0
55|55|110|0
56|65|121|0
57|75|132|0
58|85|143|0
59|95|154|0
60|6|66|0
61|16|77|0
62|26|88|0
63|36|99|0
64|46|110|0
65|56|121|0
66|66|132|0
67|76|143|0
68|86|154|0
69|96|165|0
70|7|77|0
71|17|88|0
72|27|99|0
73|37|110|0
74|47|121|0
75|57|132|0
76|67|143|0
77|77|154|0
78|87|165|0
79|97|176|0
80|8|88|0
81|18|99|0
82|28|110|0
83|38|121|0
84|48|132|0
85|58|143|0
86|68|154|0
87|78|165|0
88|88|176|0
89|98|187|0
90|9|99|0
91|19|110|0
92|29|121|0
93|39|132|0
94|49|143|0
95|59|154|0
96|69|165|0
97|79|176|0
98|89|187|0
99|99|198|0


出力を実際に Markdown として貼り付け

base
reverse
sum
surplus

10
1
11
0

11
11
22
0

12
21
33
0

13
31
44
0

14
41
55
0

15
51
66
0

16
61
77
0

17
71
88
0

18
81
99
0

19
91
110
0

20
2
22
0

21
12
33
0

22
22
44
0

23
32
55
0

24
42
66
0

25
52
77
0

26
62
88
0

27
72
99
0

28
82
110
0

29
92
121
0

30
3
33
0

31
13
44
0

32
23
55
0

33
33
66
0

34
43
77
0

35
53
88
0

36
63
99
0

37
73
110
0

38
83
121
0

39
93
132
0

40
4
44
0

41
14
55
0

42
24
66
0

43
34
77
0

44
44
88
0

45
54
99
0

46
64
110
0

47
74
121
0

48
84
132
0

49
94
143
0

50
5
55
0

51
15
66
0

52
25
77
0

53
35
88
0

54
45
99
0

55
55
110
0

56
65
121
0

57
75
132
0

58
85
143
0

59
95
154
0

60
6
66
0

61
16
77
0

62
26
88
0

63
36
99
0

64
46
110
0

65
56
121
0

66
66
132
0

67
76
143
0

68
86
154
0

69
96
165
0

70
7
77
0

71
17
88
0

72
27
99
0

73
37
110
0

74
47
121
0

75
57
132
0

76
67
143
0

77
77
154
0

78
87
165
0

79
97
176
0

80
8
88
0

81
18
99
0

82
28
110
0

83
38
121
0

84
48
132
0

85
58
143
0

86
68
154
0

87
78
165
0

88
88
176
0

89
98
187
0

90
9
99
0

91
19
110
0

92
29
121
0

93
39
132
0

94
49
143
0

95
59
154
0

96
69
165
0

97
79
176
0

98
89
187
0

99
99
198
0