Sayısal Lotonun Tüm Olasılıklarını Nasıl Bulurum?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- Ademkoysuren
- Üye
- Mesajlar: 83
- Kayıt: 26 Ağu 2003 03:07
- Konum: KIRŞEHİR
- İletişim:
Sayısal Lotonun Tüm Olasılıklarını Nasıl Bulurum?
selam arkadaşlar
bana sayısal lotonun tüm olasılıklarını bulabileceğim kod lazım yardımcı olabilirmisiniz
bana sayısal lotonun tüm olasılıklarını bulabileceğim kod lazım yardımcı olabilirmisiniz
Cemre Bilgisayar Yazılım
KIRŞEHİR
KIRŞEHİR
- Ademkoysuren
- Üye
- Mesajlar: 83
- Kayıt: 26 Ağu 2003 03:07
- Konum: KIRŞEHİR
- İletişim:
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
const
TOPLAMSAYI = 49;
ELEMANSAYISI = 6;
procedure recurse(num:byte;toplam:byte; bool : boolean;S:String);
begin
if bool then s := s+inttostr(num)+',';
if toplam = ELEMANSAYISI then begin
listbox1.items.add(s);
exit;
end;
if num = TOPLAMSAYI then exit;
recurse(num+1,toplam+1,true,s);
recurse(num+1,toplam,false,s);
end;
var
s:string;
begin
s := '';
recurse(0,0,false,s);
end;
Merhaba,
Bir ara merak salmıştım olasılık olaylarına halende çok hoşuma gidiyor.
Bende şöyle küçük bir kod yazmıştım.
6 tane döngü açıp sonuca kolayca ulaşabiliniyor.
Saygılarımla
Çalışmalarınızda başarılar.
Bir ara merak salmıştım olasılık olaylarına halende çok hoşuma gidiyor.
Bende şöyle küçük bir kod yazmıştım.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
s:variant;
t,i,j,k,l,m,n:integer;
begin
s:=0;
for i:=1 to 44 do
begin
for j:=i+1 to 45 do
begin
for k:=j+1 to 46 do
begin
for l:=k+1 to 47 do
begin
t:=0;
for m:=l+1 to 48 do
begin
for n:=m+1 to 49 do
begin
memo1.lines.add(inttostr(i)+'-'+inttostr(j)+'-'+inttostr(k)+'-'+inttostr(l)+'-'+inttostr(m)+'-'+inttostr(n));
s:=s+1;
if (l mod 35)=0 then form1.Caption:=inttostr(l);
label1.caption:=VarToStr (s) ;
if (k mod 46=0) and (l=47) and (m=48) and (n=49) then
begin
t:=1;
sleep(5000);
form1.caption:=inttostr(n);
// showmessage('dfasdfasd') ;
end;
end;
end;
end;
end;
end;
end;
end;
Saygılarımla
Çalışmalarınızda başarılar.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
- Ademkoysuren
- Üye
- Mesajlar: 83
- Kayıt: 26 Ağu 2003 03:07
- Konum: KIRŞEHİR
- İletişim:
- Yani 12'nin 6'lı kombinasyonu demek istiyorsun... Daha önceki cevabı buna uyarlaman lazım. 49'un 6'lı kombinasyonu nasılsa bu da aynı şekilde.
- Diziye aldığın seçilmiş bu 12 sayıyı rakamsal ifadedeki yerlerine ya işlem sırasında ya da daha sonra yerleştirirsin.
- Mesela seçili ilk rakam 25 olsun. Çıkan sonuçlarda 1 olan yerlere 25 koyarsan seçtiğin rakamların olduğu bir kombinasyon elde edersin.
- Diziye aldığın seçilmiş bu 12 sayıyı rakamsal ifadedeki yerlerine ya işlem sırasında ya da daha sonra yerleştirirsin.
- Mesela seçili ilk rakam 25 olsun. Çıkan sonuçlarda 1 olan yerlere 25 koyarsan seçtiğin rakamların olduğu bir kombinasyon elde edersin.
- Ademkoysuren
- Üye
- Mesajlar: 83
- Kayıt: 26 Ağu 2003 03:07
- Konum: KIRŞEHİR
- İletişim:
istediğim gibi oldu balık tutmaya başladım şimdilik, herkese teşekkürler
[list]
procedure TForm1.BitBtn3Click(Sender: TObject);
const
TOPLAMSAYI = 50;
procedure recurse(num:byte;toplam:byte; bool : boolean;S:String);
begin
if bool then
begin
s := s+ ListBox1.Items[num-1]+'-' ;
end;
if toplam = EDT_ElemanSayisi.Value then begin
Memo1.Lines.Add(S);
exit;
end;
if num = ListBox1.Items.Count then exit;
recurse(num+1,toplam+1,true,s);
recurse(num+1,toplam,false,s);
end;
var
s:string;
i:byte;
begin
Memo1.Clear;
I:=0;
s := '';
ListBox1.Clear;
for i:= 0 to 50 do
begin
if CheckListBox1.Checked[i] then
ListBox1.Items.Add(CheckListBox1.Items[i]);
end;
recurse(0,0,false,s);
ShowMessage('Tarama Bitti');
end;
[/list][/quote]
[list]
procedure TForm1.BitBtn3Click(Sender: TObject);
const
TOPLAMSAYI = 50;
procedure recurse(num:byte;toplam:byte; bool : boolean;S:String);
begin
if bool then
begin
s := s+ ListBox1.Items[num-1]+'-' ;
end;
if toplam = EDT_ElemanSayisi.Value then begin
Memo1.Lines.Add(S);
exit;
end;
if num = ListBox1.Items.Count then exit;
recurse(num+1,toplam+1,true,s);
recurse(num+1,toplam,false,s);
end;
var
s:string;
i:byte;
begin
Memo1.Clear;
I:=0;
s := '';
ListBox1.Clear;
for i:= 0 to 50 do
begin
if CheckListBox1.Checked[i] then
ListBox1.Items.Add(CheckListBox1.Items[i]);
end;
recurse(0,0,false,s);
ShowMessage('Tarama Bitti');
end;
[/list][/quote]
Cemre Bilgisayar Yazılım
KIRŞEHİR
KIRŞEHİR