私のプログラムは多くのメモリと処理能力を使用していますが、最大6000までしか検索できません。このメモリ使用量を減らす方法はありますか?これは、メモリをスマートに扱う方法を知っていることがうれしいので、将来のプログラミングに役立ちます。メモリ/ CPUの最適化?
ArrayList<Integer> factor = new ArrayList<Integer>();
ArrayList<Integer> non = new ArrayList<Integer>();
ArrayList<Integer> prime = new ArrayList<Integer>();
Scanner sc = new Scanner(System.in);
System.out.println("Please enter how high we want to search");
long startTime = System.nanoTime();
int max = sc.nextInt();
int number = 2;
while (number < max)
{
for (int i=0;i<prime.size();i++)
{
int value = prime.get(i);
if (number % value == 0)
{
factor.add(value);
}
else
{
non.add(value);
}
}
if(factor.isEmpty())
{
prime.add(number);
}
else
{
composite.add(number);
}
factor.clear();
number++;
}
int howMany=prime.size();
System.out.printf("The are "+howMany+" prime numbers up to " +max + " and they are: " +prime);
System.out.println();
}
これはどのようなプログラミング言語ですか?それはJavaですか?ご使用の言語で質問にタグを付けてください。あなたの質問を更新するには、投稿の下の** "[編集]" **リンクをクリックしてください。ありがとうございました。 – Pang