Burada a şıkkının çözümü olduğunu düşünmüyorum a şıkkı şu şekilde çözülebilir :def solve(toplam, para_tipleri): |
Kodu incelemeden direkt denedim. [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3], [1, 1, 1, 1, 1, 1, 1, 3, 3], [1, 1, 1, 1, 3, 3, 3], [1, 3, 3, 3, 3], [1, 1, 1, 1, 1, 1, 1, 1, 5], [1, 1, 1, 1, 1, 3, 5], [1, 1, 3, 3, 5], [1, 1, 1, 5, 5], [3, 5, 5]] 2 biçiminde çıktı verdi. İlk çıktı uzun de anlaşılmaz bir liste. İkinci çıktı "2" toplam bozuk para sayısını veriyor ise, yanlış. 13 = 5 + 5 + 3 ile 3 olmalı. |
2 yi vermemesi lazım sizin kodlardan kalan bir şey olabilir mi o İlki ise bu toplamı elde edebileceğimiz tüm kombinasyonlar listesini veriyor |
Ta kendisi, benim kodların sonucu o. Başka bir işe bakarken hızlıca denediğim için görmedim :) Kod güzel. Peki bu çözümü recursion stilinde de yapabilir misiniz ? |
Ona bakacağım kaptan, ama en önemli sorunu hallettem gerekiyor, Anlaşılan, Sende bir haller var! uzun zamandır girmiyorsun! inşaallah başına ciddi bir şey gelmemiştir. |
bool isPrime( int number ){ int numbers[] = {28, 36, 52, 112, 442 }; findTwoPrime(numbers, 5); Hocam üstte arkadaşın yazdığı programa biraz eklemeler yaptım. |
Esasında bu soru oldukça kolay cunku çözüm için yalın bir teori olan Goldbach konjektürünü döngü ile kodlamak yeterli. Şu soruyu (bozuk para problemi / coin change problem) recursion kullanarak çözebilir misiniz ? https://forum.donanimhaber.com/reddit-hn-euler-vs-sitelerdeki-mulakat-odev-ve-algoritma-sorulari--139462992-9#149690350 Bu soruyu bir kişi döngü ile çözdü (yukarda) ancak çözümü Internette biryerden almış, dolayısıyla gerçek çözüm sayılmaz. Bu sorunun döngüyle çözümü Internette bayagı bir var ancak recursion ile çözümü pek yok :) |
Coin Change | DP-7 - GeeksforGeeks Coin Change Problem Number of ways to get total | Dynamic Programming | Algorithms - YouTube Üstteki linklerde çözümleri var fakat ben birşey anlamadım. Tablo ile çözmüşde neden bu tabloyu oluşturdu ? Ekstaradan tablonun da kendi içinde kuralı var. Onun haricinde çözümü internetten kopyalayıp buraya yapıştırmak marifet değil ki yoksa tonla çözüm var internette. |
İlk çözüm recursion kullanmakla birlikte sonuç olarak yalnızca bozuk para kombinasyonlarının toplamını döndürüyor. Soruya, bozuk para kombinasyonlarının kendisinin de gösterilmesini ekledim dolayısıyla bu çözüm eksik oldu :) Buradaki amacım, Internetteki çözümlerden cok kişinin kendi çözümünü geliştirmesi :) İkinci çözüm dynamic programming / DP denilen yöntemi kullanıyor, oradaki tablo DP'yi açıklamak için. Coin Change probleminde kombinasyon cok sayıda olmadıgı sürece DP kullanılmak zorunda değil. Kombinasyon cok sayıda olsa bile yine zorunda değil ancak bilgisayarın kısa sürede buldurması için DP. Burada Coin Change problemi kapsamında alt konu olarak anlatıldığından anlamak zor olabilir. DP'ye özel videolardan DP konusunu daha iyi anlayabilirsin |
CCC + BBB + AAA = CAAB ise, A, B, C imlerini recursion (özyineleme) kullanarak bulunuz. İmlerin hepsi birbirinden değişik olup 1-9 arası sayılardır. |
goldbach sanısı çözüldü isteyen arkadaş aşağıdaki linkten çözüm dosyasını okuyabilir https://onedrive.live.com/view.aspx?resid=F5A3AB27C45DB054!1083&ithint=file%2cdocx&authkey=!AF_vNMXzBkvX_X8 yukardaki sayıların cevap resimlerini excel ile yaptığım proğramdan atıyorum < Resime gitmek için tıklayın > < Resime gitmek için tıklayın > < Resime gitmek için tıklayın > < Resime gitmek için tıklayın > < Resime gitmek için tıklayın > |
GOLDBACH SANISI ÇÖZÜLDÜhttps://onedrive.live.com/redir?resid=F5A3AB27C45DB054!1083&authkey=!AF_vNMXzBkvX_X8&ithint=file%2cdocx |
Baktım yalnız o Goldbach Konjonktüründen başka bir nes gibi göründü https://en.wikipedia.org/wiki/Goldbach's_conjecture 2'den büyük her düz sayı, iki asal sayının toplamı olarak yazılabilir savının doğru olup olmadığını 28, 36, 52, 112, 442 sayı listesi için göstermek. Bizim problem bu. Senin çözümde bu yönde bir içerik göremedim. Bu arada sorunun çözümünü, soruyu gönderdikten birkaç ay sonra şuradahttps://forum.donanimhaber.com/reddit-hn-euler-dh-gibi-sitelerden-is-gorusmesi-sorulari-odev-sorulari--139462992-9#145215773 SS olarak göndermişim, SS'e kısa notlar ekli yeni versiyonu: < Resime gitmek için tıklayın > |
Yanıtladığın CCC + BBB + AAA = CAAB ise, A, B, C imlerini recursion (özyineleme) kullanarak bulunuz. İmlerin hepsi birbirinden değişik olup 1-9 arası sayılardır. sorusuna şu ana dek (Farsça: henüz) yanıt gönderen yok. Bu soruya çözüm gönderebilir misin ? Çözüm (kod) özyineleme / recursion ile yapılmalı. |
BEN CEVAP YAZARKEN ALTAKİ CEVAP KISMINAMI BASTIM BİLMİYORUM ÜSTTEKİ O SORUYADA ŞİMDİ CEVAP YAZDIM. GOLDBACH SANISININ CEVABINA GELİNCE EĞER VERDİĞİM LİNKDEKİ DOSYAYI OKUDUYSANIZ ORADA ÇİFT SAYI DOĞRUSUNA ERASTONES KALBURU UYGULANIP BUNA BENZER BİR MODELLEME İLE HERHANGİ BİR TEST SAYISINDA ORTALAMA GOLDBACH DEĞERLERİNİ HESAPLIYORUM BU MODELLEMEYİDE FORMÜLE ETTİĞİMİZDE EN AZ GOLDBACH ASALI ÇİFTLERİNİN OLDUĞU TEST SAYILARINDA BİLE BİRDEN FAZLA GOLBACH ASAL ÇİFTİ OLACAĞINI GÖSTEREN BİR FORMÜL YAZIYORUM İSTERSENİZ EXCEL PROĞRAMINIDA ATABİLİRİM. |
Çözüm derken, çözümü yapan kodu göndermelisiniz. Ayrıca kod en azından 1 özyineleme / recursion kullanmalı tümüye döngü / loop 'tan oluşmamalı. Örneğin özyineleme kullanarak C++ ile yazdığım kod C=1 B=8 A=9 sonucunu veriyor. Kodu gönderebilirim ancak bunun için öncelikle en az bir kişinin kendi çözümünü göndermesi gerekiyor. |
b şıkkı için de len(sonuc) yeterli :)
< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 11 Ağustos 2022; 12:41:12 >
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @Tuğkan-0153