問題へのリンク
解答コード
詳細
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
final int N = scanner.nextInt();
final int M = scanner.nextInt();
scanner.close();
int page = (M - 1) / N;
int index = (M - 1) - page * N;
if ((page & 1) == 0) {
page++;
} else {
page--;
}
System.out.println((N * page) + (N - index));
}
}
解説
詳細
コードの記述能力ではなく、どれだけ問題を整理できるかです。
まず、Mが何ページ目の何番目にあるかを考えます。
ページ
・先頭のページを1とすると M から N で割った時、端数切り上げにする必要があります
⇒ (M - 1) / N + 1
・