Coding_Gamesメモ_Brick in the Wall

Coding_Gamesメモ_Brick in the Wall

javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:

System.err.println( );

を使うとデバックしやすくなる。(エラー出力は評価に影響しない)

内容

壁を作るための最小の労力を計算する

ルール

高さ6.5cm のレンガをN個持っている。
レンガをX個並べて積み上げ、壁を作りたい
W = ( (L -1) *6.5 /100 ) *g *mの式を使い作業に必要な最小の仕事量を出力

W : 仕事量
L : そのレンガを配置する段数
g : 重力加速度g = 10m/s で計算
m : レンガの重量(Kg)

インプット

1行目 1段あたりのレンガの数 X
2行目 作業に使用するレンガの数 N
3行目 スペース区切りのレンガの重量(Kg) m

アウトプット

最低限の仕事量、小数点以下3桁まで表示

使用したクラス

String

(String) = String.format( (String)x , y )
制御文字列x を使ってy を変換する

  • % 制御文の開始を宣言する
  • f yがfloatなどの時、 %.Nf の形で使うと小数点以下をN桁出力する
    詳細クラスFormatter:https://docs.oracle.com/javase/jp/8/docs/api/java/util/Formatter.html

Arrays

(配列) = Arrays.sort( (配列) ) 配列の内容を昇順に並び替える

考え方

計算式によると、1段目は地面に並べられている (仕事量0)

最小の労力を計算するので、重いレンガを下に、軽いレンガを上に積み上げると考える

Coding_Games:https://www.codingame.com/
String (Java Platform SE 8) - Oracle Cloud:https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html