1. Anasayfa
  2. Nesne Tabanlı Programlama

Visual Studio C# Dersleri – C# ile Collatz Problemi Çözümü

Visual Studio C# Dersleri – C# ile Collatz Problemi Çözümü
0

Collatz problemi tüm tam sayıların 1’e indirebildiğini anlatan bir teoremdir.
Collatz problemi kuralları:
İfade olarak sayıya “x” diyelim
Bu sayı eğer çift ise “x/2” dir.
Bu sayı eğer tek ise “3x+1” dir.
Bu sanıya göre tüm sayılar, 1’e kolayca indirilebilir.Bu sayının büyüklüğüyle alakalı değildir.
Örneğin;
“x=4” diyelim.O halde; 4-2-1 olur.
“x=7” diyelim.O halde; 7-22-11-34-17-52-26-13-40-20-10-5-16-8-4-2-1 olur. Bu sayı kuramında 7’nin vardığı en büyük sayı 52’dir. şimdi bunu Collatz problemini C# ile nasıl çözülür ona bakalım . :)
aşağıdaki form tasarımını yapıp kodlarımız yazalım..

int sayi, enbuyuk=0, sayac=1;
            listBox1.Items.Clear();
            sayi=Int16.Parse(textBox1.Text);
            do
            {
                listBox1.Items.Add(sayi);
                if (sayi % 2 == 0)
                {
                    sayi = sayi / 2;
                }
                else
                {
                    sayi = sayi * 3 + 1;
                }
                if (sayi > enbuyuk) enbuyuk = sayi;
                sayac++;
            }
            while (sayi > 1);
            listBox1.Items.Add("1");
            textBox2.Text = sayac.ToString();
            textBox3.Text = enbuyuk.ToString();

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    ba_ar_l_
    Başarılı
  • 0
    gayet_yi
    Gayet İyi
  • 0
    te_ekk_rler
    Teşekkürler
  • 0
    anlamad_m
    Anlamadım
  • 3
    yetersiz
    Yetersiz
Subscribe
Bildir
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Yorum
Inline Feedbacks
View all comments