Ana içeriğe atla

Matlab Ekok Bulma

Kullanııc tarafından girilen 2 sayının ekok'unu bulma algortiması;

clear all
clc

x=input('Bir tamsayı giriniz: ');
y=input('Bir tamsayı giriniz: ');

asal_bolen=0;  
sayac=0;  
i=2; 
durum=1;
while durum
    if mod(x,i)==0 || mod(y,i)==0
        sayac=sayac+1; 
        asal_bolen(sayac)=i;
        if mod(x,i)==0
            x=x/i;
        elseif mod(y,i)==0
            y=y/i;
        else
            x=x/i;
            y=y/i;
        end
    else
        i=i+1;
    end
    if i>x
        durum=0;
    end
end

disp('Asal bölenler: ')
disp(asal_bolen)

%örnegin 72 sayısı için x_asal_bolen degişkeninin içinde
%tutulan sayılar [2 2 2 3 3]
%bu kuvvetleri aşagıdaki algoritma ile;
%[0 2 3;
% 0 3 2] haline getirecegiz.
%algoritmanın görevi asal sayı 2'yi 2'inci
%idise yazmak ve kuvvetinide alt satırına eklemek

%x'in asal bölenlerin kuvvetlerini toplayalım
bolen_kuvvet=[0;0];
for i=1:size(asal_bolen,2)
    bolen_kuvvet(1,asal_bolen(i))=asal_bolen(i);
    bolen_kuvvet(2,asal_bolen(i))=bolen_kuvvet(2,asal_bolen(i))+1;
end

%[0 2 3;
% 0 3 2] halinde ki matrisimizi

%[2 3;
% 3 2] haline aşagıdaki algoritma ile getirelim

%x_bolen_kuvvet degişkeninin içindeki sıfırları atıyoruz
sayac=0;
for i=1:size(bolen_kuvvet,2)
    if bolen_kuvvet(1,i)~=0
        sayac=sayac+1;
        ekok(1,sayac)=bolen_kuvvet(1,i);
        ekok(2,sayac)=bolen_kuvvet(2,i);
    end
end

disp('sadece asal bölen ve kuvvetleri: EKOK ')
disp(ekok)

%elde ettigimiz ekok'u onluk tabanda görüntüleyelim
ekok_sayisi=1;
for i=1:size(ekok,2)
    ekok_sayisi=ekok_sayisi*ekok(1,i)^ekok(2,i);
end

disp('ekok un onluk tabanda görüntülenmesi: ')
disp(ekok_sayisi)

Yorumlar

Bu blogdaki popüler yayınlar

Matlab Operatörler

Matematiksel operatörler: +  Toplama –  Çıkarma *  Çarpma /  Bölme ^  Üst alma .* Elemanter çarpım ./  Elemanter bölme .^  Elemanter üst alma a+b  Boyutları aynı olan a ve b matrisini toplar. a-b  Boyutları aynı olan a ve b matrislerinin farkını alır. a*b  Sütun sayısı m olan a matrisiyle satır sayısı m olan b matrisini çarpar. a/b  b düzenli kare bir matrisse (determinantı sıfırdan farklıysa), aynı boyutlu a matrisiyle; a*inv(b)işlemini yapar. a.*b  Boyutları aynı olan a ve b matrislerinin elemanlarını karşılıklı olarak çarpar. a./b  Boyutları aynı olan a ve b matrislerinin elemanlarını karşılıklı oranlar. sqrt  Kök alma abs  Mutlak değer rats  Kesirli gösterim Mantıksal operatörler: &  Ve |  Veya ~  Değil /  Bölme Karar operatörleri: >  Büyüktür <  Küçüktür >=  Büyük eşittir <=  Küçük eşittir ==  Eşittir ~= ...

Matlab Asal Sayı Buldurma

Klavyeden girilen bir tamsayının, asal sayı olup olmadıgını veren algoritma kodları: Asal sayı tanımı; "1 ve kendisinden başka tamsayıya, tam bölünemeyen tamsayılara; asal sayı" denir. Girilen tamsayının asal olup olmadıgının tespiti için; tanımdan hareketle 1'den tamsayıya kadar döngü açılır ve kaç kere tam bölündügü hesaplanır. Eğer 2 kere tam bölünmüşse girilen sayı asal sayıdır.  Matlab kodları: a=input( 'Tamsayı giriniz: ' );   %kullanıcıdan tam sayı girilmesi isteniyor disp( '   ' );                                 %bir miktar boşluk bırakılıyor s=0;                                         %s degişkeni sayının kaç defa tam bölündügünü tutması için                                     ...