Eski Roma ordusu oluşumları dünya çapında çok ünlüdür. Bu oluşumlarda, Roma lejyonerleri, yanları ve kalkanlarını kullanarak üst kısımlarını koruyan geometrik bir biçimde (genellikle bir dikdörtgen) gruplanmıştır. İç pozisyonlardaki lejyonerler kalkanlarını başlarının üstünde tutan üst kısmı, yanlarda bulunan lejyonerleri 2 veya daha fazla kalkan taşıyorlardı: biri üstün kısmı korumak için, diğeri ise kenarları korumak için bir veya daha fazla kalkan 3 kalkan vardı, eğer biri oluşum halinde yalnız olsaydı, 5 kalkanı vardı Evet, bir insanın 5 kalkan taşımasının imkansız olduğunu biliyorum, ama bir şekilde yaptılar ). Bu oluşumun kullanılmasıyla tüm roman lejyonları kendilerini korudular ve o zaman en zor rakiplerdi.
Tarih, en iyi oluşum şeklinin kare olduğunu söyleyen bir Roma generali olduğunu söylemektedir (satır ve sütunlarda aynı sayıda lejyoner). Buradaki sorun, ordusunu aşağıdakileri yapmak için ordusunu bölmesi gerektiğini (ve boyutlarını) bulmaktı.
- Herhangi bir lejyon oluşumunu bırakmadı (tek lejyon oluşumunu kabul etmesine rağmen).
- Gerekli kalkan miktarını azaltın
General, bazı matematik ve hesaplamaları yaptıktan sonra, bu 2 koşulu yerine getirmenin en iyi yolunun mümkün olan en büyük kareyle başlamak olduğunu ve daha sonra hiçbir lejyoner kalmayana kadar tekrar ettiğini buldu .
Örnek:
Ordusunda 35 lejyon varsa,
- 5x5 lejyonerler karesi (Bu, mümkün olan en büyük karedir).
Kalan lejyonerler ile (10)
- 3x3 kare
Kalan lejyonerler ile (1)
- 1x1 kare.
Sonunda böyle bir şey görünecek:
5x5
* * * * * 3x3
* * * * * * * * 1x1
* * * * * * * * *
* * * * * * * *
* * * * *
İç pozisyondaki lejyonerler kalkanlarını başlarının üstünde tutan üstün kısmı kapladılar . Sadece 1 siper gerekliydi.
* * * * *
* 1 1 1 * * * *
* 1 1 1 * * 1 * *
* 1 1 1 * * * *
* * * * *
Yan kanatlarda bulunan lejyonerler 2
* 2 2 2 *
2 1 1 1 2 * 2 *
2 1 1 1 2 2 1 2 *
2 1 1 1 2 * 2 *
* 2 2 2 *
Köşede biri varsa 3 kalkanı vardı.
3 2 2 2 3
2 1 1 1 2 3 2 3
2 1 1 1 2 2 1 2 *
2 1 1 1 2 3 2 3
3 2 2 2 3
Biri oluşumunda yalnız olsaydı, 5 kalkanı vardı.
3 2 2 2 3
2 1 1 1 2 3 2 3
2 1 1 1 2 2 1 2 5
2 1 1 1 2 3 2 3
3 2 2 2 3
Bu oluşum toplam 71 kalkan gerektiriyordu.
Meydan okuma
- X miktarındaki lejyoner için gereken kalkan miktarını hesapla
Giriş
- Ordudaki lejyoner miktarı
Çıktı
- Gereken kalkan miktarı.
Test Kılıfları
35 => 71
20 => 44
10 => 26
32 => 72
- Standart kod-golf kuralları geçerlidir
Amazon.com : Best-selling Nipple Shield Carrying Case, Perfect...
sanırım asla gerçekten bilemeyeceğimden. Aslında 5 kalkan taşıdılar mı ya da soruyu çalıştırmak için yaptım: P?