古いローマ軍隊は世界中で非常に有名です。これらの陣形では、ローマ軍団は幾何学形状(通常は長方形)にグループ化され、側面を保護し、シールドを使用してその側面を保護します。内部の位置にいる軍団はシールドを頭の上に置いて上部を覆い、側面の軍団は2つ以上のシールドを運んだ。彼は3つの盾を持っていました、誰かが5つの盾を持っていたフォーメーションに一人でいた場合はい、私は人間が5つの盾を運ぶことは不可能ですが、どういうわけか彼らはそれをしました)。このフォーメーションを使用して、すべてのローマ軍団は自分自身を保護し、当時最も困難な敵でした。
歴史は、ローマの将軍が、最高のフォーメーションの形状は正方形(行と列の同数の軍団員)であると述べていたと伝えています。問題は、次の目的で軍隊を分割する必要があるフォーメーション(およびサイズ)の数を把握することでした。
- 軍団をフォーメーションから外さないでください(ただし、彼は単一の軍団フォーメーションを認めました)
- 必要なシールドの量を減らす
一般的に、彼はいくつかの数学と計算を行った後、この2つの条件を達成する最良の方法は、可能な限り最大の正方形から始め、軍団がなくなるまで繰り返すことだと考えました。
例:
彼の軍隊に35人の軍団がいる場合、フォーメーションは
- 5x5の軍団の広場(これが可能な最大の広場です)。
残りの軍団(10)
- 3x3の正方形
残りの軍団(1)
- 1x1の正方形。
最後に次のようになります。
5x5
* * * * * 3x3
* * * * * * * * 1x1
* * * * * * * * *
* * * * * * * *
* * * * *
内部の位置にある軍団は頭の上に盾を置いて上部を覆った。必要なシールドは1つだけです。
* * * * *
* 1 1 1 * * * *
* 1 1 1 * * 1 * *
* 1 1 1 * * * *
* * * * *
側面の軍団は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 *
誰かが角にいた場合、彼は3つのシールドを持っていました
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
誰かがフォーメーションで一人だった場合、彼は5つのシールドを持っていました
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
この編成には合計71のシールドが必要でした。
チャレンジ
- X個の軍団に必要な盾の量を計算する
入力
- 軍隊の軍団の数
出力
- 必要なシールドの量。
テストケース
35 => 71
20 => 44
10 => 26
32 => 72
- 標準のコードゴルフ規則が適用されます
Amazon.com : Best-selling Nipple Shield Carrying Case, Perfect...
そうですので、私は本当に知りません。彼らは実際に5つの盾を運んでいたのですか?それとも質問を機能させるためですか?