Çö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.522
    Beğenileri:
    351
    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 23 Ağustos 2018
    Polinomlar, Permütasyon, Kombinasyon, Olasılık ve Binom Açılımı Polinomlarda Bölme ve Sabit Terim 14 Ağustos 2018
    Polinomlar, Permütasyon, Kombinasyon, Olasılık ve Binom Açılımı Polinomlarda Horner Sentetik Bölme Yöntemi 7 Ağustos 2018
    Polinomlar, Permütasyon, Kombinasyon, Olasılık ve Binom Açılımı Polinomlarda Bölme ve Kalan 1 Ağustos 2018
    Polinomlar, Permütasyon, Kombinasyon, Olasılık ve Binom Açılımı Polinomlarda Bölme ve Kalan 16 Haziran 2018

Sayfayı Paylaş