1×1、11×11、111×111、……、1…1×1…1

Milano Fashion Symmetry - 無料写真検索fotoqphoto by Sprengben [why not get a friend]

 「イアン・スチュアート 数学の秘密の本棚」という本を読んでる。
その中で、

1 × 1 = 1
11 × 11 = 121

 という感じで1を増やしていったら答えのパターンはどうなるか?
という話があったのでC#使って計算してみた。

1 × 1 = 1
11 × 11 = 121
111 × 111 = 12321
1111 × 1111 = 1234321
11111 × 11111 = 123454321
111111 × 111111 = 12345654321
1111111 × 1111111 = 1234567654321
11111111 × 11111111 = 123456787654321
111111111 × 111111111 = 12345678987654321
1111111111 × 1111111111 = 1234567900987654321
11111111111 × 11111111111 = 123456790120987654321
111111111111 × 111111111111 = 12345679012320987654321
1111111111111 × 1111111111111 = 1234567901234320987654321
11111111111111 × 11111111111111 = 123456790123454320987654321
111111111111111 × 111111111111111 = 12345679012345654320987654321

 intでは桁が足りなかったのでdecimalでやった。
凄く規則的で綺麗。

 見てのとおり、桁を並べるだけであとは簡単な繰り上がりで答えが出る。

 たとえば、11111111(8桁)だと答えの各桁の値は

1,2,3,4,5,6,7,8,7,6,5,4,3,2,1

になってるはずだから答えは123456787654321。

 13桁だったら

1,2,3,4,5,6,7,8,9,10,11,12,13,12,11,10,9,8,7,6,5,4,3,2,1

 一つの桁の中には0~9までしか入れない。
なので、10以上になると繰り上がりになるから、

1,2,3,4,5,6,7,9,0,1,2,3,4,3,2,0,9,8,7,6,5,4,3,2,1

となって答えは1234567901234320987654321。
結構簡単。

 さっそくプログラムをちょっと変えて、沢山の桁を計算できるようにした。

1…1(1000桁) × 1…1(1000桁) =

12345679012345679012345679012345679012345679012345679012345679012345679012345679012345679
01234567901234567901234567901234567901234567901234567901234567901234567901234567901234567
90123456790123456790123456790123456790123456790123456790123456790123456790123456790123456
79012345679012345679012345679012345679012345679012345679012345679012345679012345679012345
67901234567901234567901234567901234567901234567901234567901234567901234567901234567901234
56790123456790123456790123456790123456790123456790123456790123456790123456790123456790123
45679012345679012345679012345679012345679012345679012345679012345679012345679012345679012
34567901234567901234567901234567901234567901234567901234567901234567901234567901234567901
23456790123456790123456790123456790123456790123456790123456790123456790123456790123456790
12345679012345679012345679012345679012345679012345679012345679012345679012345679012345679
01234567901234567901234567901234567901234567901234567901234567901234567901234567901234567
90123456790123456790098765432098765432098765432098765432098765432098765432098765432098765
43209876543209876543209876543209876543209876543209876543209876543209876543209876543209876
54320987654320987654320987654320987654320987654320987654320987654320987654320987654320987
65432098765432098765432098765432098765432098765432098765432098765432098765432098765432098
76543209876543209876543209876543209876543209876543209876543209876543209876543209876543209
87654320987654320987654320987654320987654320987654320987654320987654320987654320987654320
98765432098765432098765432098765432098765432098765432098765432098765432098765432098765432
09876543209876543209876543209876543209876543209876543209876543209876543209876543209876543
20987654320987654320987654320987654320987654320987654320987654320987654320987654320987654
32098765432098765432098765432098765432098765432098765432098765432098765432098765432098765
43209876543209876543209876543209876543209876543209876543209876543209876543209876543209876
54320987654320987654320987654320987654321


合ってるかどうかわからんけど合ってると思う。