- 5 Nis 2022
- 1,114
- 1,071
Selamlar değerli THT üyeleri. Geçenlerde yazılım mühendisi bir abi ile muhabbet ederken bana bir problem anlattı. Üniversite zamanında finallerde bu problemi kodlama ile çözmeleri istenmiş ve sınıftan sadece 1 kişi çözebilmiş. Bu problemi neredeyse her dil ile çözebilirsiniz. Problem ise şöyle:
Bir kralın 10 tane mahkumu varmış. Kral bu mahkumların biri hariç hepsini öldürmek istemiş. Bunu yapmak için aklına bir fikir gelmiş. 10 mahkumdan bir daire oluşturmuş ve bir mahkumun yanına gidip demiş ki: "Sen 1 numaralı mahkumsun." Daha sonra 1 numaralı mahkuma kılıç vermiş. Ve 2 numaralı mahkumu öldürüp kılıcı 3 numaralı mahkuma vermesini söylemiş. Böylece sürekli mahkumlar bir yanındakini öldürüp kılıcı diğer mahkuma vermiş. En sonunda ise 5 numaralı mahkum hayatta kalmış. Soru şu:
10 mahkum varken 5. mahkum hayatta kalıyorsa, 10.000 mahkum varken kaçıncı mahkum hayatta kalır.
Evet arkadaşlar ilk başta girdi ile mahkum sayısını alın. Ve program sona kalan mahkumun numarasını versin. Ben çözene kadar kafayı yedim. Sizde uğraşın emin olun katkısı olacaktır.
Sonuç ve Python İle ÇözümüBir kralın 10 tane mahkumu varmış. Kral bu mahkumların biri hariç hepsini öldürmek istemiş. Bunu yapmak için aklına bir fikir gelmiş. 10 mahkumdan bir daire oluşturmuş ve bir mahkumun yanına gidip demiş ki: "Sen 1 numaralı mahkumsun." Daha sonra 1 numaralı mahkuma kılıç vermiş. Ve 2 numaralı mahkumu öldürüp kılıcı 3 numaralı mahkuma vermesini söylemiş. Böylece sürekli mahkumlar bir yanındakini öldürüp kılıcı diğer mahkuma vermiş. En sonunda ise 5 numaralı mahkum hayatta kalmış. Soru şu:
10 mahkum varken 5. mahkum hayatta kalıyorsa, 10.000 mahkum varken kaçıncı mahkum hayatta kalır.
Evet arkadaşlar ilk başta girdi ile mahkum sayısını alın. Ve program sona kalan mahkumun numarasını versin. Ben çözene kadar kafayı yedim. Sizde uğraşın emin olun katkısı olacaktır.
VT
NOT: Eğer çözümde bir hata varsa bildirin lütfen.