(問題)二つの正の整数値(a と b とする)が与えられる。それに対して以下に示す処理を
行うプログラムを作成したい。
B君が、前向きに aメートルを、ジャンプしながら移動しようとしてい
ます。
B君が最も効率良くジャンプできる距離はbメートルであり、1回のジャンプ
で、エネルギーを 1 単位しか消費しません。
B君は、正の整数値であれば、いかなる距離でもジャンプすることができますが、
ジャンプした距離をj としたとき、
1 + (j–b)^2
のエネルギーを使用することになります。
移動中のジャンプに使ったエネルギーの和が最も小さくなるような方法で、B君が
aメートル移動するとき、そのエネルギーの和が何単位なのか出力しなさい。
なお、B君は前以外の向きに飛んだり、途中で向きを変えることはできません。
(質問)エネルギー1単位しか消費しない時の計算はできたのですが、その後に手をつける場所がわからなくなってしまって、ヒントなどいただけると嬉しいです
java
1import java.util.*; 2public class Main { 3 public static void main(String[] args) throws Exception { 4 Scanner sc=new Scanner(System.in); 5 int a=sc.nextInt(); 6 int b=sc.nextInt(); 7 int j=a%b; 8 int energy=1+((j-b)*(j-b)); 9 if(a%b==0){ 10 System.out.println(a/b); 11 }else if(a%b>b/2){//ここからの書き方がわからないです 12 System.out.println((a/b)+((a%b)*energy)); 13 } 14 } 15}
回答2件
あなたの回答
tips
プレビュー