Çözüldü EBOB - EKOK (9 Soru) - Programlama

Konusu 'Doğal Sayılar,Tam Sayılar,Bölme Bölünebilme,EBOB-EKOK' forumundadır ve Beyza Nur tarafından 23 Ocak 2014 başlatılmıştır.

Yüklüyor...
  1. Beyza Nur

    Beyza Nur Yeni Üye

    Mesajlar:
    12
    Beğenileri:
    0
    1.
    a ve b faklı doğal sayılardır. OKEK(a, b) = 385 ise a + b toplamının alabileceği en büyük ve en küçük değerlerin toplamı kaçtır?

    2.
    a ve b pozitif tam sayılardır. OBEB(a, b) = 12, OKEK(a ,b) = 420 ise a+b toplamı en az kaçtır?

    3.
    abc üç basamaklı bir sayıdır. abc/14 + abc/15 ifadesi bir tam sayıya eşit ise abc'nin alabileceği en küçük ve en büyük değerlerin toplamı kaçtır?

    4.
    A=13! + 14!, B=14! + 15! ise OKEK(A,B) kaçtır?

    5.
    Boyları 84 cm ve 96cm olan iki çubuk eşit uzunlukta parçalara ayrılacaktır. Çubuklar toplam olarak en az kaç parçaya ayrılırlar?

    6.
    x,a,b,c ∈ Z^(+)
    120=ax
    150=bx
    180=cx
    olduğuna göre x'in alabileceği değerlerin toplamı?

    7.
    a ve b birer doğal sayıdır. OKEK(90, a, b) = 2^3·225 ise a+b toplamı en az kaçtır?

    8.
    x ve 21 aralarında asal sayılardır. OBEB(3x, 21) + OKEK(2x, 21) = 423 ise x kaçtır?

    9.
    85, 123, 148 sayılarını böldüğünde sırasıyla 5, 3, 8 kalanını veren doğal sayıların toplamı kaçtır?

    Not: Konu başlığı değiştirildi ve bilgisayar programlamayla ilgilenen öğrenciler için "Tag" eklendi. (Honore)
    Son düzenleyen: Moderatör: 30 Ekim 2023
     
    : Fortran

  2. Benzer Konular: Soru) Programlama
    Forum Başlık Tarih
    Doğal Sayılar,Tam Sayılar,Bölme Bölünebilme,EBOB-EKOK Asal Sayılar - Aritmetik Dizi - Programlama (8. Sınıf için ağır bir soru) 3 Eylül 2023
    Ivır Zıvır Sorular - Sohbet (Trivial Questions - Chat) Doğrunun Analitiği - İki Bilinmeyenli Denklem Çözümü (3 Soru) - Programlama 10 Ekim 2020
    Matematik - Geometri Sayma İlkeleri - Permütasyon - Kombinasyon (3 Soru) - Programlama 19 Ekim 2019
    Matematik - Geometri EKOK - Programlama (2 Soru) 27 Kasım 2018
    Matematik - Geometri Sayılar (2 Soru) - Programlama 11 Haziran 2013

  3. gulcemrem

    gulcemrem Yeni Üye

    Mesajlar:
    16
    Beğenileri:
    4
    Keşke cevap şıklarını da verseydin, sonucu yanlış bulmuş olabiliriz, düzeltirdik. :)

    Soru 1)
    En çok --> 385+77=462
    En az --> 11.35=385 buradan da 11+35=46
    462+46=508
    ---
    Soru 2)
    12.35=420
    35 i çarpanlarına ayır aralarında asal olsun
    35=7.5 olur. obeb 12 idi.
    12.7=84
    12.5=60
    84+60=144
    ---
    Soru 3)
    abc/14+abc/15=X gibi bir tam sayı imiş
    okek(14,15)=210 en küçük abc sayımız 210 olur
    katlarını alalım.210 sayısının 3 basamaklı en büyük değeri 840 olur.
    210+840 = 1050
    ---
    Soru 4)
    A=13!(1+14)=13!.15 ve B=14!(1+15)=14!·16
    OKEK'leri 14!·15·16 =14!·240
    ---
    Soru 5)
    obeb(84,96)=12
    84/12=7 ve 96/12=8
    7·8=56
    ---
    Soru 6)
    obeb(120,150,180)=30 çarpanlarına ayır
    30 --> 2·3·5 ve x=2,3,5,6,10,15,30,1 = toplamları 72
    ---
    Soru 8)
    x ve 21 aralarında asal ise obeb'leri 1 olur.
    Obeb(3x,21)=3 olur
    3+okek(2x,21)=423 ve okek(2x,21)=420 olur
    420'nin çarpanları --> 21.20 --> ilk sayımız cıktı 21. bizim işimiz 20 ile
    20 de 2x'e eşit olduğuna göre 2x=20 ve x=10 olur.
    ---
    Soru 9)
    85-5=80, 123-3=120, 148-8=140 bu sayıların obeb'ini al Obeb=20
    Son düzenleyen: Moderatör: 30 Ekim 2023
    Honore bunu beğendi.
  4. Beyza Nur

    Beyza Nur Yeni Üye

    Mesajlar:
    12
    Beğenileri:
    0
    Cevapladığınız için çok teşekkür ederim, haklısınız bir daha cevapları da yazarım, kusura bakmayın.
    9. Sorunun cevabını 30 olarak gösteriyor. Bir de 6.soruda 30'u çarpanlarına ayırdıktan sonra x'i nasıl bulduğunuzu anlayamadım. Rica etsem anlatabilir misiniz?:)
  5. gulcemrem

    gulcemrem Yeni Üye

    Mesajlar:
    16
    Beğenileri:
    4
    Rica ederim :)
    Evet 9.soruda doğal sayıların toplamlarını sormuş, affedersin. Ben en büyük sayıyı buldum obeb'den. Şimdi obebini 20 bulduk. Bu bizim en büyük sayımız. Bir de bunun katı olan ve bu sayıdan küçük sayıları da almamız lazım, toplamlarını istediği için. Diğeri de 10 olur. 20'nin katı. Sağlamasını yapacak olursak tüm sayılardan soruda verilen kalanları verir bize. (85'i 10'a böl, kalanı 5 verir vs..) 20 ve 10 sayılarımız bu kadar. 20+10=30

    6.soruda da obeb'i bulduktan sonra 30'u çarpanlarına ayırdığımızda 2, 3 ve 5 sayılarını elde ederiz. Şimdi bu sayıları zaten alırız. Bir de bunların aralarında çarpım sonucu elde edilen sayıları da alırız, yani farklı sayı bulabildiğin kadar sayıları birbiri ile çarp. 2·3 = 6, 2·5 = 10, 3·5 = 15, 2·3·5 =30, 1 sayısını da alırız çünkü x sayısına 1 dersek diğer sayılara 120, 150, 180 verip sonucu buluruz, aynı şekilde. Pozitif tam sayıdır 1 sayısı da. Zaten en başta 30 sayısının pozitif bölen sayısını hesaplayacak olursak elimizde 8 sayı olacağını anlarız.

    30 --> 2·3·5 idi bu sayıların üstünde bir şey yoksa üstleri 1 kabul ederiz ve 1 arttırıp çarparız. (1+1)(1+1)(1+1)=2·2·2=8 tane sayımız olacak --> x=1,2,3,5,6,10,15,30
    eğer tam sayı deseydi 2·(1+1)(1+1)1+1)=16 tane sayımız olurdu, negatif sayıları da alırdık. Pozitif denildiği için almıyoruz.
    Son düzenleyen: Moderatör: 30 Ekim 2023
    Honore bunu beğendi.
  6. Honore

    Honore Yönetici Yönetici

    Mesajlar:
    11.195
    Beğenileri:
    652
    Cinsiyet:
    Bay
    Meslek:
    Müh. (Elk./Bilg.)
    OKEK[ 90,OKEK(a,b) ] = 1800 olacağına göre Minimum[ OKEK(a,b) ] = (1800 / 90)·10 = 200 olabilir.
    OKEK(a,b) = 200 ve a < b olmak üzere 200'ün pozitif bölenleri olan a ve b sayıları için;
    Kod:
     a      b      OKEK(a,b)      a + b
    ---    ---     ---------      -----
      1    200        200          201
      2    200        200          202
    ...
    ...
      8     25        200           33
     10    200        200          210
    ...
    ...
    100    200        200          300
    Minimum(a + b) = 8 + 25 = 33 bulunur.
    ---
    İlgilenebilecek öğrenci üyeler için bir Fortran çözümü:
    [​IMG]
    https://i72.servimg.com/u/f72/19/97/10/39/ekok-f10.png
    Programın tamamı:
    Kod:
    program EKOK
    integer::lcm,EKOKab,i=0,ax,bx
    integer, allocatable :: a(:),b(:),ab(:)
    
    open (unit = 1, file = "sayilar.txt")
    write(1,5)'SIRA        EKOK(a,b)       a          b        a + b'
    write(1,5)'----        ---------      ---        ---       -----'
    
    do EKOKab=1,1800
       if(LCM(90,EKOKab)==1800) then
          allocate(a(EKOKab),b(EKOKab),ab(EKOKab))
          exit
       endif
    enddo
    
    do ax=1,EKOKab
       do bx=1,EKOKab
          if ( (ax<bx).and.(lcm(ax,bx)==EKOKab) ) then  
             i=i+1
             a(i)=ax
             b(i)=bx
             ab(i)=ax+bx
             write(1,6)i,'            ',EKOKab,'        ',ax,'         ', &
                       bx,'        ', ab(i)
           endif
        enddo
    enddo
    
    write(1,*)'';write(*,*)''
    write(1,7)'Minimum a+b = ',minval(ab(1:i));write(*,7)'Minimum a+b = ',minval(ab(1:i))
    write(1,*)'';write(*,*)''
    write(1,8)'a = ',a(minloc(ab(1:i)));write(*,8)'a = ',a(minloc(ab(1:i)))
    write(1,8)'b = ',b(minloc(ab(1:i)));write(*,8)'b = ',b(minloc(ab(1:i)))
    write(6,5)'Tum a ve b degerleri icin sayilar.txt dosyasina bakin.'
    write(*,*)''
    
    deallocate(a,b,ab)
    
    close(1)
    
    5 format (a)
    6 format (i3,a,i3,a,i3,a,i3,a,i3)
    7 format (a,i3)
    8 format (a,i3,a,i3)
    
    end program
    
    !Modified version of https://rosettacode.org/wiki/Least_common_multiple#Fortran
    integer function lcm(a,b)
    integer:: a,b,gcd
    
    lcm = a*b / gcd(a,b)
    
    end function lcm
    
    function gcd(v, t)
    integer :: gcd
    integer, intent(in) :: v, t
    integer :: c, b, a
    b = t
    a = v
    do
      c = mod(a, b)
      if ( c == 0) exit
         a = b
         b = c
    end do
    
    gcd = b ! abs(b)
    
    end function gcd
    Not: Programın çıktısı ektedir.

    Ekli Dosyalar:

Sayfayı Paylaş