Çözüldü Modüler Aritmetik - Bölünebilme - Programlama

Konusu 'Mantık,Kümeler,Bağıntı ve Fonksiyon,İşlem ve Moduler Aritmetik' forumundadır ve Honore tarafından 22 Mayıs 2021 başlatılmıştır.

Yüklüyor...
  1. Honore

    Honore Yönetici Yönetici

    Mesajlar:
    11.054
    Beğenileri:
    652
    Cinsiyet:
    Bay
    Meslek:
    Müh. (Elk./Bilg.)
    [​IMG]
    https://i72.servimg.com/u/f72/19/97/10/39/modzle12.png
    https://www.facebook.com/photo?fbid=194380995877486&set=gm.4658510560830939
    (Sorunun gönderildiği Facebook grubu 25 Eylül 2022 tarihinde "Private" duruma getirildiği için aslını ve varsa diğer çözümleri ancak üyeleri görebilir.)

    Ya soruyu o Facebook grubuna gönderen kişi cevabı yanlış yazdı veya cevap anahtarı hatalı.

    51 ≡ 3(Mod m) ⇒ 48 ≡ 0(Mod m) ⇒ m1 = {4, 6, 8, 12, 16, 24, 48}
    75 ≡ 3(Mod m) ⇒ 72 ≡ 0(Mod m) ⇒ m2 = {4, 6, 8, 9, 12, 18, 24, 36, 72}
    99 ≡ 3(Mod m) ⇒ 96 ≡ 0(Mod m) ⇒ m3 = {4, 6, 8, 12, 16, 24, 32, 48, 96}
    m = m1 ∩ m2 ∩ m3 = {4, 6, 8, 12, 24} ⇒ s(m) = 5.

    Not: İlk çözdüğümde dalgınlıkla veya parmağımın işgüzarlığından 99 yerine 999 yazıp sonucu 6 bulmuştum ve ancak bugün fark edip düzelttim.
    Son düzenleme: 8 Ağustos 2025
     
    : Fortran

  2. Benzer Konular: Modüler Aritmetik
    Forum Başlık Tarih
    Hareket, Hız, Yüzde, Faiz, Sayısal Yetenek Problemleri ve Genel Kavramlar Hareket ve Hız Problemi - Dairede Merkez Açı - Modüler Aritmetik - Programlama 3 Nisan 2026
    Limit ve Süreklilik,Türev,İntegral Yüksek Dereceli Trigonometrik Türev - Modüler Aritmetik 28 Şubat 2026
    Mantık,Kümeler,Bağıntı ve Fonksiyon,İşlem ve Moduler Aritmetik Modüler Aritmetik - Bölünebilme - Programlama 13 Şubat 2026
    Mantık,Kümeler,Bağıntı ve Fonksiyon,İşlem ve Moduler Aritmetik Modüler Aritmetikle Problem Çözümü 29 Kasım 2025
    Mantık,Kümeler,Bağıntı ve Fonksiyon,İşlem ve Moduler Aritmetik Üstel Sayılar - Modüler Aritmetik - Bölme, Bölüm ve Kalan - Programlama 9 Ekim 2025

  3. Honore

    Honore Yönetici Yönetici

    Mesajlar:
    11.054
    Beğenileri:
    652
    Cinsiyet:
    Bay
    Meslek:
    Müh. (Elk./Bilg.)
    www.mathful.com adresindeki yapay zekânın 508 saniye sonunda verdiği 29 sayfalık çözüm de ektedir.

    Ekli Dosyalar:

  4. Honore

    Honore Yönetici Yönetici

    Mesajlar:
    11.054
    Beğenileri:
    652
    Cinsiyet:
    Bay
    Meslek:
    Müh. (Elk./Bilg.)
    Matematik, mühendlslik, fizik, istatistik gibi alanlarda bilgisayar programlama (kodlama) öğrenmek isteyen öğrenciler için Fortran uygulaması:
    [​IMG]
    https://i72.servimg.com/u/f72/19/97/10/39/module18.png

    Program:
    Kod:
    ! Problemin Türkçe aslı: https://i72.servimg.com/u/f72/19/97/10/39/modzle12.png
    !
    ! If the numbers 99, 75, and 72 are divided by a positive integer m, the
    ! remainder is always 3 for all three numbers. Find and list the
    ! different possible values of m.
    program moduler
    implicit none
    integer :: mx, i = 0, j, n
    integer, allocatable :: m1(:), m2(:), m3(:)
    
    ! 99 sayısına göre dizin oluşturuluyor
    do mx = 4, 99
       if (MOD(99 - 3, mx) == 0) then
          i = i + 1
       endif    
    enddo
    
    allocate (m1(i))
    
    i = 0
    
    do mx = 4, 99
       if (MOD(99 - 3, mx) == 0) then
           i = i + 1; m1(i) = mx
       endif    
    enddo
    ! 75 sayısına göre dizin oluşturuluyor
    i = 0
    do mx = 4, 75
       if (MOD(75 - 3, mx) == 0) then
          i = i + 1
       endif    
    enddo
    
    allocate (m2(i))
    
    i = 0
    do mx = 4, 75
       if (MOD(75 - 3, mx) == 0) then
           i = i + 1; m2(i) = mx
       endif    
    enddo
    !---
    ! 51 sayısına göre dizin oluşturuluyor
    i = 0
    do mx = 4, 51
       if (MOD(51 - 3, mx) == 0) then
          i = i + 1
       endif    
    enddo
    
    allocate (m3(i))
    
    i = 0
    do mx = 4, 51
       if (MOD(51 - 3, mx) == 0) then
           i = i + 1; m3(i) = mx
       endif    
    enddo
    !---
    ! En küçük boyutlu dizin belirleniyor.
    n = MIN(SIZE(m1),SIZE(m2),SIZE(m3)) ! n = SIZE(m3)
    
    do j = 1, n
      if ( (any (m3(j) == m1)).and.(any (m3(j) == m2)) ) print*,m3(j)
    end do
    
    end program

Sayfayı Paylaş