목표는 소수가 아닌 모든 배열 스폿을 끄거나 false로 설정하는 것입니다. 배열은 매개 변수로 제공됩니다.Java : Sawve of Eratosthenes : 매개 변수로 배열
a[2] = true;
a[3] = true;
a[5] = true;
a[7] = true;
이 참으로 그 배열 항목을 재설정 :
public static boolean[] sieveOfEratosthenes(boolean [] a){
int increment= 2;
for(int n = 0; n < 9; n++){
for(int i = increment; i < a.length; i += increment){
a[i] = false;
}
increment += 1;
}
a[2] = true;
a[3] = true;
a[5] = true;
a[7] = true;
return a;
}
코드 사용하는 것보다 더 효율적인 방법이 있다면 난 그냥 궁금 해서요, 잘 작동합니다.
미리 감사드립니다.
정의에 따르면 '거짓'이 아닌 모든 지점은 '사실'이어야합니다. 맞습니까? 따라서 전체 배열을 'true'로 초기화 한 다음 소수가 될 수없는 위치를 'false'로 설정하십시오. –
숙제 과제입니다. 배열을 변경할 수 없으며 모두 사실로 설정되어 있습니다. 제공된 배열에 0- * 무한대의 숫자 배열로 가득 찬 것으로 가정합니다. – user1172534
@HunterMcMillen false로 초기화 한 후에 true로 설정하는 것이 적은 작업일까요? 소수가 아닌 것보다 더 많은 소수. –