Ух ты, а я и не знал! Есть формула для вычисления произвольных знаков пи без вычисления предшествующих знаков! Из неё же, грубо говоря, следует и то, что все цифры в пи случайны и равновероятны.
or in Python:moon_aka_sunMarch 1 2006, 00:35:12 UTC
p = 0.0 for k in range(0,999): # for(k=0;;k+=1) a = (4.0/(8*k+1)-2.0/(8*k+4)-1.0/(8*k+5)-1.0/(8*k+6)) / (16**k) if a<1e-17: break p += a print "%2d %.16f" % (k,p)
int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;)f[b++]=a/5;for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}
Comments 19
p = 0.0
for k in range(0,999): # for(k=0;;k+=1)
a = (4.0/(8*k+1)-2.0/(8*k+4)-1.0/(8*k+5)-1.0/(8*k+6)) / (16**k)
if a<1e-17: break
p += a
print "%2d %.16f" % (k,p)
'''prints:
0 3.1333333333333333
1 3.1414224664224664
2 3.1415873903465816
3 3.1415924575674357
4 3.1415926454603365
5 3.1415926532280878
6 3.1415926535728809
7 3.1415926535889729
8 3.1415926535897523
9 3.1415926535897913
10 3.1415926535897931
11 3.1415926535897931
'''
Reply
Как раз сейчас происходит http://www.kernelpanic.pl/perlgolf-view.mx?id=59 (Текущий результат - 117).
Правда твой K и даже J это наверняка побьёт :)
(Кстати, по-моему, строго говоря "случайность и равновероятность" из формулы не следует)
Reply
За ссылку спасибо, интересно!
Reply
Гнездо у нас было сначала здесь, потом здесь, но с тех пор всем уже поднадоело, только вот поляки продолжают :)
Вся информация собрана в этом файле.
Reply
Reply
Reply
Reply
@a=(2)x3501;
for(0..999)
{
$k=@a;
$C=$k*int(($q=$_=$_.0+$C)/($M=2*--$k+1)),$_%=$k?$M:10for@a;
chop$q;
$"=~s!.?[09]*.$!$&.0+$q!e
}
print$"
Reply
Reply
Reply
Leave a comment