JAVA 인 코딩 훈련(7)
2131 단어 JAVA
E-version:so a long time I major in python dev. many aspects about java almost forget。so now I found some problems to practice。
제목:
AS-LIKE
짝수 가 있 음 을 알 고 있 습 니 다.두 소수 가 더 해 진 값 은 이 짝수 입 니 다.하나의 수치(5,1000)를 구하 고 차이 가 가장 작은 두 개의 소 수 를 구하 세 요.
Given a odd number, there are two primes can equal this number by plus them together。 within the limit value (5,1000], please
programing the min difference between two figures.
실현:
IMPL:
public static class PrimePair {
public int primeMin;
public int primeMax;
}
public static PrimePair findPrimeNumber(int number) {
// params valid check;
if (number <= 5 || number > 1000 || number % 2 == 1)
return null;
// use array not ArrayList, easy to acquire;
int[] array = new int[200];
// array length;
int pos = 1;
// initial value;
array[0] = 2;
for (int i = 3; i < number; i++) {
boolean prime = true;
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
prime = false;
}
}
if (prime) {
array[pos++] = i;
}
}// above block calculate all the prime number with given range;
int maxindex = pos - 1;
int minindex = 0;
int min = 0;
int primeMax = 0;
int primeMin = 0;
// should use > and =, for this situation: 6=3+3;
while (maxindex >= minindex) {
if ((array[minindex] + array[maxindex]) > number) {
maxindex--;
} else if ((array[minindex] + array[maxindex]) < number) {
minindex++;
} else {
if (min == 0) {
min = array[maxindex] - array[minindex];
primeMax = array[maxindex];
primeMin = array[minindex];
} else {
if (min > array[maxindex] - array[minindex]) {
primeMax = array[maxindex];
primeMin = array[minindex];
}
}
// this statement is vital, it will continue the cycle;
maxindex--;
}
}
PrimePair pair = new PrimePair();
pair.primeMax = primeMax;
pair.primeMin = primeMin;
return pair;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법정적 공장 방법 정적 공장 방법의 장점 를 반환할 수 있습니다. 정적 공장 방법의 단점 류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음 여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.