2 3 4 5 6 7 8 9 a b c d e f
1 ----------------------------------------
2| 4 6 8 a c e 10 12 14 16 18 1a 1c 1e
3| 6 9 c f 12 15 18 1b 1e 21 24 27 2a 2d
4| 8 c 10 14 18 1c 20 24 28 2c 30 34 38 3c
5| a f 14 19 1e 23 28 2d 32 37 3c 41 46 4b
6| c 12 18 1e 24 2a 30 36 3c 42 48 4e 54 5a
7| e 15 1c 23 2a 31 38 3f 46 4d 54 5b 62 69
8| 10 18 20 28 30 38 40 48 50 58 60 68 70 78
9| 12 1b 24 2d 36 3f 48 51 5a 63 6c 75 7e 87
a| 14 1e 28 32 3c 46 50 5a 64 6e 78 82 8c 96
b| 16 21 2c 37 42 4d 58 63 6e 79 84 8f 9a a5
c| 18 24 30 3c 48 54 60 6c 78 84 90 9c a8 b4
d| 1a 27 34 41 4e 5b 68 75 82 8f 9c a9 b6 c3
e| 1c 2a 38 46 54 62 70 7e 8c 9a a8 b6 c4 d2
f| 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1
2 の段は覚えよう!
f の段は1の位と10の位の数字の和が f になるから覚えやすい。
f × f = e1
e + 1 = f
8 の段も覚えられそう。
1 × 1 から f × f への並びは覚えておくと楽しいことがあるかも。
1の位
149094101490941
10の位
000112345679ace
ちなみにプログラム
ff.js
const psw = _ => process.stdout.write( _ )
psw( ' 1' )
for ( let r = 2; r < 16; r++ ) psw( ' ' + r.toString( 16 ) )
psw( '\n' )
psw( ' 1 ----------------------------------------\n' )
for ( let l = 2; l < 16; l++ ) {
psw( l.toString( 16 ) + '|' )
for ( let r = 2; r < 16; r++ ) {
let _ = ' ' + ( l * r ).toString( 16 )
psw( _.slice( _.length - 3 ) )
}
psw( '\n' )
}
$ node ff.js