Распределение цифр в волшебных числах 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}

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

Архив записей в блогах:
Как я уже писала, Инжир появился на свет тихо-незаметно, в уголке, и его даже не сразу обнаружили, хотя с будущей мамашей носились все, как курица с яйцом и тряслись над ней. Котенок явно относился к ветви детей Ибицы - которые растут сами по себе, питаются святым духом, но почему-то ...
Так, друзья — тут появилась весьма интересная новость, которая касается России — новый состав Конгресса США уже готов принять так называемый "Закон о защите безопасности США от агрессии Кремля" и готовит новый пакет санкций против руководства России. И судя по всему — в этот раз ...
Но не распаковки, а уже пользования. По трусам, которые лакоста- хуйня. Как правильно заметил кто то из френдов, в них яйцы потеют. Видимо присутствует какое то количество синтетики, хоть и написано 100% коттон. Смотрятся конечно хорошо, но рассекать в них в летнее время некомфортно. ...
Пошел вчера в город, валяется на дороге дохлый кот. Думаю - отпинаю подальше, школа рядом, дети ходят. Ногой пошевелил - мягкий кот. Недавно значит откинулся, трупное окоченение ещё не наступило. Пнул пару раз, вдруг этот дохлый котяра один глаз так открывает, - Э, дядя, ты чо такой ...
Но потом с головой ушел в изучение Кабалы, и, еще раз, по отзывам всех тех людей, с которыми я общалась и которые знают Слуцкера, стал всерьез считать себя Мышеяхом, то есть спасителем. ...