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