Распределение цифр в волшебных числах N!

топ 100 блогов termometr26.11.2016 Написал программку на Вольфраме по проверке гипотезы равномерности распределения заданной цифры в дроби. Если не лоханулся в коде, то не такой я уж и дурак.


In[1720]:= (* Извлечение нужного знака из числа и - Распределение цифр в волшебных
числах N! *) ;
ClearAll[ "Global`*" ] (* стартовая зачистка всех переменных *)

Fun41[x_, ns_] := RealDigits[x, 10, 1, -ns][[1, 1]] (*Извлечение нужного знака из числа - The best*)

FRound[x_, ns_] := Round[x*10^ns]/10^ns

Ns = 3; (* позиция цифры в числе *)
"=========================";
{ A = RandomReal[], RealDigits[A] ,
RealDigits[A, 10, 1, -Ns] } ; (* тест *)
"=========================";
N1 = 6; (* аргумент факториала *)
{ N1, Nmax = Factorial[N1] , PrimeQ[Nmax], Nmax1 = (Nmax - 1) ,
PrimeQ[Nmax1] }

NmaxX = Nmax + 1 ; (* тестируемый знаменатель *)

" C округлением "
NN = 0 ;
P10 = Table[0, {i, 10}] ;
Do[{NN = NN + 1, Pr = FRound[NN/NmaxX, Ns] (* Pr=FRound[NN/NmaxX,
Ns] , Pr=NN/NmaxX *), Dgt = Fun41[Pr, Ns],
Do[ P10[[n + 1]] = P10[[n + 1]] + If[Dgt == n, 1, 0], {n, 0, 9,
1}] }, {m, 1, NmaxX, 1}]

P11 = P10/NmaxX
N[P11, 3]

{NmaxX, NmaxX == NN, NmaxX == Sum[P10[[i]], {i, 10}] }

NmaxX = Nmax ; (* тестируемый знаменатель *)

" C округлением "
NN = 0 ;
P10 = Table[0, {i, 10}] ;
Do[{NN = NN + 1, Pr = FRound[NN/NmaxX, Ns] , Dgt = Fun41[Pr, Ns],
Do[ P10[[n + 1]] = P10[[n + 1]] + If[Dgt == n, 1, 0], {n, 0, 9,
1}] }, {m, 1, NmaxX, 1}]

P11 = P10/NmaxX
N[P11, 3]

{NmaxX, NmaxX == NN, NmaxX == Sum[P10[[i]], {i, 10}] }

" Без округления "
NN = 0 ;
P10 = Table[0, {i, 10}] ;
Do[{NN = NN + 1, Pr = NN/NmaxX , Dgt = Fun41[Pr, Ns],
Do[ P10[[n + 1]] = P10[[n + 1]] + If[Dgt == n, 1, 0], {n, 0, 9,
1}] }, {m, 1, NmaxX, 1}]

P11 = P10/NmaxX
N[P11, 3]

{NmaxX, NmaxX == NN, NmaxX == Sum[P10[[i]], {i, 10}] }

"EOF";


Out[1728]= {6, 720, False, 719, True}

Out[1729]= " C округлением "

Out[1733]= {73/721, 72/721, 72/721, 72/721, 72/721, 72/721, 72/721, \
72/721, 72/721, 72/721}

Out[1734]= {0.101, 0.0999, 0.0999, 0.0999, 0.0999, 0.0999, 0.0999, \
0.0999, 0.0999, 0.0999}

Out[1735]= {721, True, True}

Out[1736]= " C округлением "

Out[1740]= {1/12, 1/9, 1/9, 1/12, 1/9, 1/12, 1/9, 1/12, 1/9, 1/9}

Out[1741]= {0.0833, 0.111, 0.111, 0.0833, 0.111, 0.0833, 0.111, \
0.0833, 0.111, 0.111}

Out[1742]= {720, True, True}

Out[1743]= " Без округления "

Out[1747]= {1/9, 1/9, 1/12, 1/9, 1/12, 1/9, 1/9, 1/12, 1/9, 1/12}

Out[1748]= {0.111, 0.111, 0.0833, 0.111, 0.0833, 0.111, 0.111, \
0.0833, 0.111, 0.0833}

Out[1749]= {720, True, True}

Оставить комментарий

Архив записей в блогах:
"Ребята, мы Украину не потянем! Давайте вернем этот Крым! Уже в конце концов жить не на что!" С 01:15 здесь:   https://tvrain.ru/teleshow/vechernee_shou/valjutnaja_ipotechnitsa_v_norkovoj_shube_rydaja_davajte_vernem_etot_krym-402453/ ...
Итак, я остановился на том, что Борька в разговоре со мной заявил: — Я вот тут с лагерем разговаривал… старшие пацаны говорят, что надо бы на общее уделить… Так, думаю, вечер перестает быть томным: — А конкретнее? Борька достал из кармана бумажку и, развернув, показал мне. На ...
В Кремле прошло награждение российских победителей и призеров Олимпиады в Рио-де-Жанейро прошло 25 августа. Чемпионам подарили белые внедорожники BMW X6, серебряные призеры получили BMW X4, а бронзовые — BMW X3. И вдруг сенсация! Продают Олимпийский автомобиль! И у кого-то открылся ...
Доброго утра и отличного, продуктивного всем дня!)) Добавляйтесь в друзья и подписывайтесь на обновления. ...
Одна мне сказала так ясно и четко, Прощаясь надолго со мной: «Я вас не забуду — и жду самородка С верховьев Реки Золотой». Другая, желая в дороге успехов, Держа мою руку в своей, Напомнила, чтобы кедровых орехов Привез я на праздники ей. А третья, волнуясь неотданной силой, ...