Şimdi Ara

CENG Okuyacaklar İçin Örnek Algoritma Sorusu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
19
Cevap
3
Favori
898
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
1 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Elinizde n adet madeni para ve bir tane eşit kollu terazi var.
    Paralardan biri sahte. Sahte olan para diğerlerine göre daha hafif.
    Sahte parayı nasıl bulursunuz?

    Optimal Çözüm:


    Paraları terazinin her kolunda eşit sayıda olacak şekilde bölersiniz. (Eğer n tek sayı ise bir tanesini kenara ayırın.) Sahte para daha hafif olduğu için sahte paranın bulunduğu kefe daha yukarıda kalacaktır buradan sahte paranın orada bulunduğunu anlayabilirsiniz. Diğer koldaki paraları kaldırıp sahte paranın olduğu taraftaki paraları bu sefer iki tarafta eşit sayıda olacak şekilde yerleştirirsiniz. Sahte paranın olduğu taraf yine yukarıda kalacağı için en son 2 para kalana kadar bu işlemi tekrarlar ve sahte olan parayı bulursunuz. n tane para için log2(n) (2 tabanında) tane tartma (gayet iyi bir performanstır) işlemi yapmanız gerekir. 1024 para için 10 tartma işlemi gerekirken 2048 para için 11 tartma işlemi gerekir. Bu yüzden gayet efektif bir algoritmadır.


    (Algorithms -> Divide & Conquer (Böl & fethet) Algorithms -> Fake coin puzzle)



    < Bu mesaj bu kişi tarafından değiştirildi Guest-4h062020 -- 8 Ağustos 2021; 8:30:9 >
    < Bu ileti mini sürüm kullanılarak atıldı >







  • Sahte parayı nasıl bulursun değil sahte parayı en kısa sürede nasıl bulursun gibi bir şeydi bu. Yks problem soru bankalarında bolca örnekleri mevcut.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • CiroDiMarzio C kullanıcısına yanıt
    Optimal çözüm yazdım zaten. YKS kitaplarına kadar gelmiş demek, haberim yoktu. Algoritma sorularının basitlerinden biridir. Birkaç seneye knapsack falan da eklerler o zaman

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Guest-4h062020

    Optimal çözüm yazdım zaten. YKS kitaplarına kadar gelmiş demek, haberim yoktu. Algoritma sorularının basitlerinden biridir. Birkaç seneye knapsack falan da eklerler o zaman

    Pardon hocam yanlış olmasın soru olarak değil de bir problemler kitabının önsözünde görmüştüm sanırım, baya hoşuma gitmişti o zamanlar aklımda kalmış. Daha sonra da 1 veri yapıları kitabında da görmüştüm galiba.


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • iyi ki ceng yazmamışım  

  • Ne yazdınız?

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Guest-4h062020 G kullanıcısına yanıt

    kimya

  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • Bir tık zorlaştırayım. Paranın hafif mi ağır mı olduğunu bilmiyorsunuz bu sefer nasıl yaparsınız?

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Litityum

    Bir tık zorlaştırayım. Paranın hafif mi ağır mı olduğunu bilmiyorsunuz bu sefer nasıl yaparsınız?

    Benim aklıma ilk gelen şu oldu: mesela 200 tane madeni para varsa:


    50'şer 50'şer 4 parçaya ayırırım. Örneğin A B C D harflerinden her harf 50 adet parayı temsil etsin. Hafif veya Ağır olan para bu 4'ünden birinde. Rastgele 2 harften birini seçip tartıda karşılaştırırım, eğer eşit gelirlerse zaten para C veya D'nin içindedir.


    Eğer ilk seçtiğim 2 harf eşit gelirse (örneğin A = B olsun):


    Eşit gelen 2 harften (A ve B) örneğin A'yı alır, ilk önce A-C daha sonra A-D yaparım. 2'sinden biri eşit, diğerinde ise bir kol aşağıda bir kol yukarıda bulunacaktır. Eğer dengesiz duran tartı işleminde A'nın olduğu kol aşağıda kalırsa sahte para hafiftir. A yukarıda olursa sahte para ağırdır. Sonrası işte ağır veya hafif olma durumuna göre hedef paranın içinde bulunduğu taraf ile 2'ye böle böle bulma işlemi yapılır.


    Eğer ilk seçtiğim 2 harf eşit gelmezse (örneğin A != B olsun)


    C veya D'den birini seçer üstte saydığım işlemlerin aynısını gerçekleştiririm.


    Var mı bundan daha kısa bir yol hocam? merak ettim açıkçası.





  • Hocam galiba bu en uzun yoldu.Paralaei tek tek sağa ve sol kefeye atarım.Dengeyi bozan ilk 2 paradan biridir


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • *


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Litityum

    Bir tık zorlaştırayım. Paranın hafif mi ağır mı olduğunu bilmiyorsunuz bu sefer nasıl yaparsınız?

    2'ye ayırırım. 2 taraftan birini 2'ye böldüğümüzde zaten terazi dengede kalacak. Diğer tarafa 2'ye bölme işlemlerini uygulayıp parayı bulurum. Yanlış çözdüm herhalde ama aklıma bu geldi.




    < Bu mesaj bu kişi tarafından değiştirildi MuhtarTebogo -- 8 Ağustos 2021; 3:45:59 >
  • Litityum kullanıcısına yanıt
    lightshot
    Screenshot
    https://prnt.sc/1krrj5s

     

  • Ryo41 kullanıcısına yanıt

    Mantıklar doğru gibi ancak biraz daha iyileştirilebilir. Parayı iki gruba ayıralım. A, B. A daha ağır olsun. Daha sonra A’yı ikiye ayırırım. Eğer bu tartma işleminde dengesizlik varsa bingo. Sahte para daha ağırmış. Buradan devam ederim. Değilse yine bingo. Sahte para B’de imiş ve B daha hafif. Demek ki sahte para hafif. B’den böl parçala işlerini yapmaya devam ederim.


    A’da çıkması durumunda ekstra tartma işlemi yapmadık.

    B’de çıkması durumunda ekstra 1 tartma işlemi yaptık(A’yı tarttığımız)


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Litityum kullanıcısına yanıt

    4 tane esit kumeye ayırırım.2'li 2'li gruplarsak grupların birinde 2 tanesi birbirine esit olacaktır zaten.digerinde ise dengesizlik olacak.buradan da birbirine esit olan 2'li gruplardan birini alıp esitsizlik olanlardan da sırasıyla birini alırım hangisi esit olursa digeriyle esitlerden birini kıyaslarım buradan hafif mi agır mı oldugu ortaya cıkar.gerisi zaten ilk sorudaki gibi aynı cozum.


    aslında bu da senin cozumunle aynı sayıda geliyor. %50 ihtimalle 2 tartım %50 ihtimalle 3.


    edit:eger soruda bir sart yoksa soyle bir sonuca da varılabilir: coin sayısı kac ise 2 den yuksek bolunebilecek en yuksek kume sayısına ayırıp bir kumeyi rastgele diger 2 kumeyle kıyaslayarak da minimum sonuc sayısı bulunabilir yani cevap minimum 2 tartım.bunu engelleyebilecek tek sayı 2 coin olması o da sorunun cevabı icin yeterli degil hafif veya agır olabilir yani gercek agırlıgını bulmaya yeterli degil  




    < Bu mesaj bu kişi tarafından değiştirildi stevennpaulJobs -- 8 Ağustos 2021; 12:8:39 >




  • stevennpaulJobs kullanıcısına yanıt

    Evet bu çözümler de oluyor sanırım.


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Şöyle bahsedeyim bir de. Paranın ağır mı hafif mi olduğunu biliyorsak ve total para 3^n ise şöyle yapabiliriz. Parayı üç eşit parçaya böleriz. Rastgele ikisini tartalım. Bunlar eşitse sahte para tartmadığımızda. Eşit değillerse ağır olanı alalım(sahte para ağırsa). Bu şekilde üçe bölerek ilerleyebiliriz

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Litityum kullanıcısına yanıt

    Aynen bu cozum daha iyi.


    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.