2 Mart 2015 Pazartesi

While Döngüsü ile Asal Sayı Kontrolü

Aşağıdaki örnekte kullanıcının  girdiği bir sayının asal olup olmadığı bulunuyor. Bu işlem için while döngüsünü kullandık. While şartlı bir döngüdür. Başlangıçta belirtilen şart doğru olduğu sürece döngü içerisindeki komutlar çalışır. Buradaki püf noktası bir sayının asal olmadığı ne zaman anlaşılırsa o zaman döngüden çıkıp diğer sayılarla gereksiz işlem yapmamasının sağlanmasıdır. Örneğin 10 sayısı 2 ye tam bölündüğünde asal olmadığı daha ilk işlemde anlaşılacaktır. Bu durumda bizim while döngümüz sadece 1 defa çalışacaktır. Gereksiz işlemlerin programımızı yavaşlattığı düşünüldüğünde bir programcının yapması gereken en doğru algoritmayı bulmaktır. :) Tabiki bazen en doğru algoritmayı bulmak mümkün olmayabiliyor, işimizin görüldüğüne bakıyoruz. Ama siz siz olun her zaman sonuca en doğru çözümlerle ulaşmaya çalışın.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CA_030_dongu_asal
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayi = int.Parse(Console.ReadLine());
            bool asal=true;
            int i=2, sayac = 0;
            while (asal == true && i < sayi)
            {
                if (sayi % i == 0) asal = false;
                i++; sayac++;
            }
            if (asal == true) Console.WriteLine("Asaldır");
            else Console.WriteLine("Asal Değildir");
            Console.WriteLine("Döngü Sayısı:" + sayac);
        }
    }
}

Hiç yorum yok:

Yorum Gönder