내 프로그램은 많은 메모리와 처리 능력을 사용합니다. 최대 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();
}
어떤 프로그래밍 언어입니까? 자바인가? 사용중인 언어로 질문에 태그를 답니다. 질문을 업데이트하려면 게시물 아래의 ** "[편집]"** 링크를 클릭하십시오. 고맙습니다. – Pang