Schizophrenic number(連続する個数 1.0)
11111111111111111111111111111111111111111111111
0860
555555555555555555555555555555555555555555555
2730541
66666666666666666666666666666666666666666
0296260347
2222222222222222222222222222222222222
0426563940928819
4444444444444444444444444444444
38775551250401171874
9999999999999999999999999999
808249687711486305338541
66666666666666666666666
5987185738621440638655598958
33333333333333333333
0843460407627608206940277099609374
99999999999999
0642227587555983066639430321587456597
222222222
186349201679118083308184478360027737E25
の場合、
47, 45, 41, 37, 31, 28, 23, 20, 14, 9連続同じ数字が並んでいる。
n(>6)連続する個数を表示してみる。
require 'bigdecimal'
M = 700
N = 51
a = 0
(1..N).each{|i| a = 10 * a + i
if i % 2 == 1
str = BigDecimal.new(a).sqrt(M * 2).to_s
ary1 = str.split('')
cnt = -2
cnt0 = -2
cnt1 = 0
# 変わり目の番号を収納
ary2 = []
# 7連続以上同じ数字ならtrue
d = false
b0, b1, b2, b3, b4, b5, f = -7, -6, -5, -4, -3, -2, -1
ary1.each{|i|
# 数字以外が出てきたら停止
break if i == 'E'
# M桁まで
break if cnt > M - 1
cnt += 1
b0, b1, b2, b3, b4, b5, f = b1, b2, b3, b4, b5, f, i
if [b0, b1, b2, b3, b4, b5, f].uniq.size == 1
if !d
cnt0 -= 6
cnt1 += 7
ary2 << cnt - 6
else
cnt1 += 1
end
d = true
else
cnt0 += 1
ary2 << cnt if d
d = false
end
}
ary3 = []
(0..ary2.size - 2).each{|i| ary3 << ary2[i + 1] - ary2[i] if i % 2 == 0}
p [i, cnt, cnt0, cnt1, ary3.inject(:+), ary3]
end
}
[1, 1, 1, 0, nil, []]
[3, 700, 700, 0, nil, []]
[5, 700, 700, 0, nil, []]
[7, 700, 700, 0, nil, []]
[9, 700, 692, 8, 8, [8]]
[11, 700, 682, 18, 18, [10, 8]]
[13, 700, 678, 22, 22, [12, 10]]
[15, 700, 666, 34, 34, [14, 12, 8]]
[17, 700, 660, 40, 40, [16, 14, 10]]
[19, 700, 646, 54, 54, [18, 16, 12, 8]]
[21, 700, 638, 62, 62, [20, 18, 14, 10]]
[23, 700, 626, 74, 74, [21, 19, 15, 12, 7]]
[25, 700, 616, 84, 84, [23, 21, 17, 14, 9]]
[27, 700, 598, 102, 102, [25, 23, 19, 16, 11, 8]]
[29, 700, 587, 113, 113, [27, 25, 21, 17, 13, 10]]
[31, 700, 570, 130, 130, [29, 27, 23, 19, 14, 11, 7]]
[33, 700, 556, 144, 144, [31, 29, 25, 21, 16, 13, 9]]
[35, 700, 536, 164, 164, [33, 31, 27, 23, 18, 15, 10, 7]]
[37, 700, 520, 180, 180, [35, 33, 29, 25, 20, 17, 12, 9]]
[39, 700, 505, 195, 195, [37, 35, 31, 27, 22, 19, 14, 10]]
[41, 700, 489, 211, 211, [39, 37, 33, 29, 24, 21, 16, 12]]
[43, 700, 465, 235, 235, [41, 39, 35, 31, 26, 23, 18, 14, 8]]
[45, 700, 448, 252, 252, [43, 41, 37, 33, 28, 24, 20, 16, 10]]
[47, 700, 424, 276, 276, [45, 43, 39, 35, 29, 26, 22, 18, 12, 7]]
[49, 700, 405, 295, 295, [47, 45, 41, 37, 31, 28, 23, 20, 14, 9]]
[51, 700, 388, 312, 312, [49, 47, 42, 39, 33, 30, 25, 21, 15, 11]]
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。