function output=belli_bir_sayidan_kucuk_asal_sayi_bulma_optimal_esas(n)

%n asla sayilarin kucuk ya da esit olacagi sayi
if n==1, %eger n=1 ise bu durumda sadece tek bir asal sayi vardir ve de bu asal sayi sadece 1'dir
    output=1;
elseif n==2,  %eger n=2 ise bu durumda iki asal sayi vardir ve de bunlar da 1 ve 2 dirler
    output=[1 2];
else   % n degeri 2den buyukse mesela 3,4,5.... 
   output=[1 2 3];
    sayici=4; %sayici belirlenir; bu sayici asal sayilarin sayisini bulmak icin kullanilacak 
   for i=5:2:n, %bu kisim for dongusunun baslangici olacak n degerine kadar olan butun sayilar kontrol edilecek
       sayi_asal_kontrol=1; % sayiyi ilk basta asaldir diye varsayiyoruz
          for k=3:length(output), %n sayisinin bolunecegi sayilar dongusu, sadece tek sayilari kontrol etmek yeterli
             if mod(i,output(k))==0 %bölünebiliyordur ve asal say? de?ildir
                 sayi_asal_kontrol=0;
                 break
             end
          end
       if sayi_asal_kontrol==1, % sayi asal sayi olarak tespit edildi demektir
                output(sayici)=i; % bulunan asal sayi outputun yen, elemani olarak yazildi
                sayici=sayici+1; 
       end
   end
end
           