[MD-sorular] Yan: 3x3 python çıktısı da benden :)
ozcan kasal
ozcankasal at yahoo.com
11 Tem 2009 Cmt 21:57:35 EEST
100.000 denemede 0.3576 gibi bir sayıya ulaştı. Deneme süresince de 0.357 civarında dolaştı. 5/14 sonucu ile uyumlu.
kodu da aşağıda.
Özcan
%%%%%%%%%%%%%%%%%%%%%%%%-Python Kodu-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
from __future__ import division
import random
def secim():
s=[random.randint(1,9),0,0,0,0,0,0,0,0]
j=1
while j<=8:
k=0
while k==0:
r=random.randint(1,9)
k=1
for i in range(0,j):
if r==s[i]:
k=0
if k==1:
s[j]=r
j=j+1
m=[[s[0],s[1],s[2]],[s[3],s[4],s[5]],[s[6],s[7],s[8]]]
return m
def cift():
result=1
n=secim()
r0=n[0][0]*n[0][1]*n[0][2]
r1=n[1][0]*n[1][1]*n[1][2]
r2=n[2][0]*n[2][1]*n[2][2]
c0=n[0][0]*n[1][0]*n[2][0]
c1=n[0][1]*n[1][1]*n[2][1]
c2=n[0][2]*n[1][2]*n[2][2]
if r0%2==0 and r1%2==0 and r2%2==0 and c0%2==0 and c1%2==0 and c2%2==0:
result =0
return result
deneme=0
dogru=0
while deneme <=100000:
n=cift()
if n==0:
dogru=dogru+1
deneme=deneme+1
print dogru/deneme
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--- 11/07/09 Cts tarihinde Kadir GÜLEÇ <kadir.gulec at spk.gov.tr> şöyle yazıyor:
> Kimden: Kadir GÜLEÇ <kadir.gulec at spk.gov.tr>
> Konu: [MD-sorular] 3x3 bilgisayar programı ve çözüm
> Kime: md-sorular at matematikdunyasi.org
> Tarihi: 11 Temmuz 2009 Cumartesi, 21:06
>
>
>
>
>
> Excel’de son derece
> basit çözüm aşağıda
> Hatalara açığım
> ama
> Sonuç 45*5!*4! İle
> uyumlu
>
>
>
>
> 129600
>
> 362880
>
> 0,357143
>
> benim mainada 7-8 dakika
> sürdü
>
> Sub
> hazırla()
>
> Dim i1 As
> Integer
> Dim i2 As
> Integer
> Dim i3 As
> Integer
> Dim i4 As
> Integer
> Dim i5 As
> Integer
> Dim i6 As
> Integer
> Dim i7 As
> Integer
> Dim i8 As
> Integer
> Dim i9 As
> Integer
> Dim cift As
> Integer
> Dim ciftsay As
> Double
> Dim toplam As
> Double
> Dim p As
> Double
>
> toplam = 1
> For i1 = 1 To
> 9
> toplam = toplam *
> i1
> Next i1
> ciftsay = 0
> For i1 = 1 To
> 9
> For i2 = 1 To
> 9
> For i3
> = 1 To 9
>
> For i4 = 1 To 9
>
> For i5 = 1 To 9
>
> For i6 = 1 To
> 9
>
> For i7 = 1 To 9
>
> For i8 = 1 To 9
>
> For i9 = 1 To 9
>
> If Not ( _
>
> i1 = i2 Or i1 = i3 Or i1 = i4 Or i1 = i5 Or i1 = i6
> Or i1 = i7 Or i1 = i8 Or i1 = i9 Or _
>
> i2 = i1 Or i2 = i3 Or i2 = i4 Or i2 = i5 Or i2 = i6
> Or i2 = i7 Or i2 = i8 Or i2 = i9 Or _
>
> i3 = i1 Or i3 = i2 Or i3 = i4 Or i3 = i5 Or i3 = i6
> Or i3 = i7 Or i3 = i8 Or i3 = i9 Or _
>
> i4 = i1 Or i4 = i2 Or i4 = i3 Or i4 = i5 Or i4 = i6
> Or i4 = i7 Or i4 = i8 Or i4 = i9 Or _
>
> i5 = i1 Or i5 = i2 Or i5 = i3 Or i5 = i4 Or i5 = i6
> Or i5 = i7 Or i5 = i8 Or i5 = i9 Or _
>
> i6 = i1 Or i6 = i2 Or i6 = i3 Or i6 = i4 Or i6 = i5
> Or i6 = i7 Or i6 = i8 Or i6 = i9 Or _
>
> i7 = i1 Or i7 = i2 Or i7 = i3 Or i7 = i4 Or i7 = i5
> Or i7 = i6 Or i7 = i8 Or i7 = i9 Or _
>
> i8 = i1 Or i8 = i2 Or i8 = i3 Or i8 = i4 Or i8 = i5
> Or i8 = i6 Or i8 = i7 Or i8 = i9 Or _
>
> i9 = i1 Or i9 = i2 Or i9 = i3 Or i9 = i4 Or i9 = i5
> Or i9 = i6 Or i9 = i7 Or i9 = i8) Then
>
> r1
> = i1 * i2 * i3 Mod 2
>
> r2 = i4 * i5 * i6 Mod 2
>
> r3 = i7 * i8 * i9 Mod 2
>
> c1 = i1 * i4 * i7 Mod 2
>
> c2 = i2 * i5 * i8 Mod 2
>
> c3 = i3 * i6 * i9 Mod 2
>
> cift = r1 + r2 + r3 + c1 + c2 + c3
>
> If cift = 0 Then ciftsay = ciftsay +
> 1
>
> End If
>
> Next i9
>
> Next i8
>
> Next i7
>
> Next i6
>
> Next i5
>
> Next i4
> Next
> i3
> Next
> i2
> Next i1
>
> Cells(1, 1) =
> ciftsay
> Cells(1, 2) =
> toplam
> Cells(1, 3) = ciftsay /
> toplam
> MsgBox
> ("Bitti")
>
> End Sub
>
> -----Satır İçi Eki Var-----
>
> _______________________________________________
> MD-sorular e-posta listesi
> sorular at matematikdunyasi.org
> http://lists.math.bilgi.edu.tr/cgi-bin/mailman/listinfo/md-sorular
___________________________________________________________________
Yahoo! Türkiye açıldı! http://yahoo.com.tr
İnternet üzerindeki en iyi içeriği Yahoo! Türkiye sizlere sunuyor!
MD-sorular mesaj listesiyle ilgili
daha fazla bilgi