자바 고전 알고리즘 (1) 100 이내 의 소수 구하 기
1750 단어 알고리즘
이른바 선별 법 이란 작은 것 부터 큰 것 까지 이미 알 고 있 는 소수 의 모든 배 수 를 걸 러 내 는 것 을 말한다. 2 에 따라 우 리 는 '4, 6, 8,..., 100' 등 수 를 걸 러 낸 다음 에 3 에 따라 '9, 15,..., 99' 등 수 를 걸 러 낼 수 있다. 이때 의 6, 12 는 이미 2 의 배수 로 걸 러 졌 다. 4 는 이미 걸 러 졌 기 때문에 다음 선별 수 는 5 이다.
프로 그래 밍 원리: 크기 가 101 인 배열 을 정의 하고 걸 린 수 대 가 를 1 로 하 며 걸 리 지 않 은 것 을 남 기 며 배열 아래 표 시 는 2 와 같은 수 출력 보다 크 고 출력 하 는 것 은 질 수 입 니 다.
실례:
package rmd_lygp_front.test;
public class Test {
public static void main(String[] args) {
int[] a = new int[101];
int i, j = 2;
while (j < 101) {
if (a[j] == 0) {
for (i = j + 1; i < 101; i++) {
if (i % j == 0) {
a[i] = 1;
}
}
}
j++;
}
for (int k = 0; k < 101; k++) {
if (k >= 2 && a[k] == 0) {
System.out.println(k);
}
}
}
}
2. 일반적인 방법:
증명: k = (INT) Math. sqrt (i) 를 사용 하여 순환 의 신뢰성 을 제어 합 니 다. 예 를 들 어 i = 8 시 그의 값 은 2 의 제곱 과 3 의 제곱 사이 에 있 음 을 증명 합 니 다. 그래서 4.
실례:
package rmd_lygp_front.test;
public class Test {
public static void main(String[] args) {
int i, j, k;
for (i = 2; i < 100; i++) {
k = (int) Math.sqrt(i);
for (j = 2; j <= k; j++) {
if (i % j == 0)
break;
}
if (j > k) {
System.out.println(i + " ");
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.