Çözüldü Tamsayılarla Bölme - EBOB - Programlama

Konusu 'Matematik - Geometri' forumundadır ve Honore tarafından 12 Haziran 2018 başlatılmıştır.

Yüklüyor...
  1. Honore

    Honore Yönetici

    Mesajlar:
    2.259
    Beğenileri:
    316
    Cinsiyet:
    Bay
    Meslek:
    Müh. (Elk./Bilg.)
    76, 124 ve 220 sayılarını böldüğünde aynı kalanı veren kaç farklı pozitif tam sayı değeri vardır?
    https://scontent-frx5-1.xx.fbcdn.ne...=abe1b30674822bda73870f142fe212e4&oe=5BB38BE0

    Ortak bölenler x, bölümler sırasıyla A, B, C ve kalanlar da y olmak üzere;
    220 = A·x + y
    124 = B·x + y
    76 = C·x + y
    eşitlikleri taraf tarafa birbirlerinden çıkarılırlarsa
    144 = (A - C)·x
    96 = (A - B)·x
    48 = (B - C)·x
    EBOB(48, 96, 144) = 48 = 3·16 = (3^1)·(2^4) asal çarpanlarına göre, aranan pozitif bölenlerin sayısı (1 + 1)·(4 + 1) = 10 tanedir.
    ---
    Bilgisayar programlamayla ilgilenen öğrenci üyeler için bir Fortran uygulaması:
    [​IMG]
    https://image.ibb.co/dnqrDT/EBOB.png

    Program:
    Kod:
    ! http://ftn95.blogspot.com/2014/05/to-find-gcd-of-set-of-numbers.html
    ! adresindeki programın basitleştirilmiş şeklidir.
    program bolenler
    integer :: i,j=0,x,a(3),gcd1
     
    a(1)=220-76; a(2)=220-124; a(3)=124-76
    
    gcd1=a(1)
    
    do i=2,3
       gcd1=gcd(gcd1,a(i))
    end do
    
    do x = 1,gcd1 ! gcd1 = 48 = EBOB((220-76),(220-124),(124-76))
       if ((mod(76,x) == mod(124,x)).and.(mod(76,x) == mod(220,x)).and.    &
            mod(124,x) == mod(220,x)) then
            print*,x
            j=j+1
       endif  
    enddo
    
    print*,''
    Print*,j,'adet tamsayi degeri var.'
    
    contains ! EBOB Fonksiyonu
    integer function gcd(x,y)
    integer x,y,x1,y1,temp
    
    y1=max(x,y)
    x1=min(x,y)
    
    do
    if (mod(y1,x1)==0) then
         gcd=x1
         return
         exit
    else
         temp=x1
         ! x1 ve y1 değerlerine geçici bir "temp" değişkeni kullanılmadan
         ! değer atanması yanlış sonuçlar verir.
         x1=mod(y1,x1)
         y1=temp
    end if
        
    end do
    
    end function gcd
    
    end program
     
    : Fortran

  2. Benzer Konular: Tamsayılarla Bölme
    Forum Başlık Tarih
    Polinomlar, Permütasyon, Kombinasyon, Olasılık ve Binom Açılımı Polinomlarda Bölme ve Kalan 16 Haziran 2018
    Matematik - Geometri Tamsayılarda Bölme ve Bölünme problemi 20 Mayıs 2018
    Polinomlar, Permütasyon, Kombinasyon, Olasılık ve Binom Açılımı Polinomlar - Doğal Sayılar - Bölme ve Kalan (3 Soru) 16 Mayıs 2018
    Matematik - Geometri Bölme ve Bölünebilme - Basamak Analizi 12 Mayıs 2018
    Polinomlar, Permütasyon, Kombinasyon, Olasılık ve Binom Açılımı Polinomlarda Bölme ve Kalan 22 Nisan 2018

Sayfayı Paylaş