わかりました、最後に Java コード用に持っているものを投稿しますが、これが必要なことです。main メソッドでは、how_many (宣言された int) を実行する Lights と呼ばれるブール配列が宣言されています。
次に、 initializeというメソッドを呼び出す必要があります。このメソッドをライト配列に渡し、ライト配列のサイズを (それぞれ) 1 番目と 2 番目の引数として渡します。
この後に for ループが続き、メソッド do_pass を呼び出して how_many の最後に到達し、各配列位置を true または false に切り替えます。これは 2 番目の位置から開始し、true の場合は false に切り替え、false の場合は true に切り替えます。how_many で開始し、how_many で終了するまでこれを行います。
次に、メソッドhow_many_are_onを呼び出すことによって、真 (オン) に切り替えられた数を出力します。
これまでの私のコードは次のとおりです。
import java.util.Scanner;
public class Lab7
{
public static void main(String args[])
{
Scanner stdin = new Scanner(System.in);
int how_many = stdin.nextInt();
boolean [] lights = new boolean [how_many];
initialize (lights[0].how_many);
for (int a = 0; a < how_many; a++)
do_pass(lights.length);
}
public static void initialize (boolean [] resets, int size)
{
for (int i = size; i < size; i++)
if (lights[how_many] == true)
lights[how_many] = false;
}
public static void do_pass(boolean lights[], int start, int end, int skip)
{
for (int index = start; index < end; index += skip)
lights[index] = !(lights[index]);
}
public static int how_many_are_on(boolean lights[], int size)
{
int sum = 0;
for (int count = 0; count < size ; count++)
{
if (lights[count] == true)
{
return true;
sum ++;
}
}
return false;
}
}