Ubuntu Türkiye

Yazılım => Programlama => Mono/C# => Konuyu başlatan: bekdemir - 07 Temmuz 2014 - 02:00:48

Başlık: Yazdığım asal sayı programı yüksek sayılarda yavaşlıyor
Gönderen: bekdemir - 07 Temmuz 2014 - 02:00:48
int i, a, b, top, j;

            a = Convert.ToInt32(textBox1.Text);

            b = Convert.ToInt32(textBox2.Text);

            for (i = a; i <= b; i++)

            {

                top = 0;

                for (j = 1; j <= i; j++)

                    if (i % j == 0)

                         top = top + 1;

                if (top == 2)

                    listBox1.Items.Add(Convert.ToString(i));


elimde böyle bir c# asal sayı kodu var yüksek rakamlara çıktığım zaman proğram çok yavaşlıyor
hızlandırmak için bir yöntem varmı acaba ?
Başlık: Ynt: asal sayı proğramı
Gönderen: 7hr33l3t73r - 07 Temmuz 2014 - 16:53:22
Linux altinda calistiriyorsaniz bu durum normal karsilanabilir.Mono gelismekte olan bir sistem sonucta..
Onun yerine makine diline yakin bir programlama kullanabilirsiniz.(asm,c,c++)
Sonucta iki sayi arasindaki asal  sayilari bulmak icin internette yeterince ornek kaynak kod mevcut.
Başlık: Ynt: asal sayı proğramı
Gönderen: ekremsenturk - 08 Temmuz 2014 - 11:32:41
Aşağıdaki iki satırı sil. Gereksiz işlem yapıyorlar.


  a = Convert.ToInt32(textBox1.Text);

b = Convert.ToInt32(textBox2.Text);


@l0n3w0lf Linux gelişmekte olan değil, sürekli gelişen bir sistem. Windows'ta ise tersine, sürekli yama üstüne yama eklenir. Sistemi yenilemekten daha az maliyetli olmalı. Dolayısı ile Windows git gide yavaşlar. Bu nedenle bir çok (bilinçsiz) Windows kullanıcısı otomatik güncellemeleri kapatırlar.
Başlık: Ynt: asal sayı proğramı
Gönderen: 7hr33l3t73r - 08 Temmuz 2014 - 11:52:21
Ben gelismekte olan sistem derken Mono'dan  bahsetmiştim.Yanlis anlasildim herhalde.
Başlık: Ynt: asal sayı proğramı
Gönderen: ekremsenturk - 08 Temmuz 2014 - 12:21:29
Mono'nun eksik görülebilinecek yönleri, Netframework'ün ara sürümlerini desteklememesi ve GNU lisanslı olmayan dll kütüphanelerini Mono'da bulunmaması. Her .NET programı, hangi .NET sürümü ile derlenmişse, o sürüm kurulu olmadığı sürece, çalışmaz. Mono, 2.0, 3.0, ve son sürümünde 4.0'ü destekler.  Programın hangi dilde yazılmış ve derlenmiş olmasının bir önemi yok.  Ek olarak, Mono derleyicileri ile derlenen programların GNU Lisansı gereği, kaynak kodlarının da paylaşılmaları gerekmesi. Bunlar bir sorun teşkil etmiyorsa, Mono kararlı bir .NET alternatifi. Mono'un tercih edilecek yönleri, var olan sürümü kuruyorsunuz ve önceki Mono sürümlerinide destekliyor ve de .Netframework'den daha az disk alanı kaplıyor.


C# için önerebileceğim bir kaynak : Fundamentals-of-Computer-Programming-with-CSharp-Nakov-eBook-v2013.pdf
Başlık: Ynt: asal sayı proğramı
Gönderen: 7hr33l3t73r - 08 Temmuz 2014 - 21:03:37
Alıntı yapılan: ekremsenturk - 08 Temmuz 2014 - 11:32:41
Aşağıdaki iki satırı sil. Gereksiz işlem yapıyorlar.


  a = Convert.ToInt32(textBox1.Text);

b = Convert.ToInt32(textBox2.Text);

Bu arada yukarida belirtiginiz kodlari cikarmasi birsey degistirmeyecektir.
Paylasilan kodlarin devamida olmasi lazim.
Yukarida ki kodlar sadece metin kutululari o bolumlere yazilan sayilarin arasinda ki asal sayilari bulmaya calisiyor program.
Başlık: Ynt: asal sayı proğramı
Gönderen: ekremsenturk - 08 Temmuz 2014 - 23:53:21
Programın sorunu yavaşlamasıymış. Program çalışmıyor veya hata veriyor denilmiyor. "İnt"i "İnt"e dönüştürmek, fuzuli bir işlem.