[MD-sorular] nxn kare simülasyon
Ali Nesin
nesin at bilgi.edu.tr
12 Tem 2009 Paz 12:21:51 EEST
Cok guzel.
Simdi limitin 1'e gittigini kanitlayabiliriz...
6 x 6 ile 7 x 7 yanitlarindan birinde hata var mi?
A.
-----Original Message-----
From: md-sorular-bounces at matematikdunyasi.org
[mailto:md-sorular-bounces at matematikdunyasi.org] On Behalf Of
ozcankasal at yahoo.com
Sent: Sunday, July 12, 2009 12:03 PM
To: md-sorular at matematikdunyasi.org
Subject: [MD-sorular] nxn kare simülasyon
Aşağıdaki sonuçları her durum için 1000 kere rastgele seçim ile elde ettim.
3x3: 0,353646353646
4x4: 0,722277722278
5x5: 0,754245754246
6x6: 0,905094905095
7x7: 0,905094905095
8x8: 0,968031968032
daha büyük boyutlarda ise satır ve sütun çarpımları 32bit uzunluğunu
geçtiğinden işlem yapamadım.
Algoritma şöyle:
%%%%%%%%%%%%%%%%%%%%%%%-Python-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
from __future__ import division
import random
def secim(n):
s=[random.randint(1,n*n)]
i=1
while i<=n*n-1:
s.append(0)
i=i+1
j=1
while j<=n*n-1:
k=0
while k==0:
r=random.randint(1,n*n)
k=1
for i in range(0,j):
if r==s[i]:
k=0
if k==1:
s[j]=r
j=j+1
return s
def cift(n):
result=1
m=secim(n)
r=[1]
c=[1]
i=1
j=1
while i<=n-1:
r.append(1)
i=i+1
while j<=n-1:
c.append(1)
j=j+1
l=0
p=0
while l<=n-1:
j=l*n
while j<=(l+1)*n-1:
r[l]=r[l]*m[j]
j=j+1
l=l+1
while p<=n-1:
j=p
while j<=p+(n-1)*n:
c[p]=c[p]*m[j]
j=j+n
p=p+1
result=0
i=0
j=0
while i<=n-1:
if r[i]%2==1:
result=1
i=i+1
while j<=n-1:
if c[j]%2==1:
result=1
j=j+1
return result
dim=3
number=1000
while dim<=20:
deneme=0
dogru=0
while deneme <=number:
k=cift(dim)
if k==0:
dogru=dogru+1
deneme=deneme+1
print dim,"x",dim,":", dogru/deneme
dim=dim+1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
___________________________________________________________________
Yahoo! Türkiye açıldı! http://yahoo.com.tr
İnternet üzerindeki en iyi içeriği Yahoo! Türkiye sizlere sunuyor!
_______________________________________________
MD-sorular e-posta listesi
sorular at matematikdunyasi.org
http://lists.math.bilgi.edu.tr/cgi-bin/mailman/listinfo/md-sorular
MD-sorular mesaj listesiyle ilgili
daha fazla bilgi