2桁の自然数と、その1桁目と2桁目を入れ替えた数の合計が11の倍数になっていることを個別の計算結果で表示してみましょう。
ルール
- 10 から 99 までの自然数を A とする
- A の1桁目と2桁目を入れ替えた数を B とする
- A と B の合計を C とする
- C を 11 で割った場合の剰余を D とする
- 10 から 99 までの自然数に関して A , B, C, D を Mardown で出力する
- 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 |