자바 데이터 생 성 법
public class PalindromeNumber2 {
/* */
private void adigit(long parentNumber, long tenID) {
long tenIDResult = (long) Math.pow(10, tenID);
for (int i = 0; i <= 9; i++) {
System.out.println((long) (parentNumber + (i * tenIDResult)));
}
}
/* */
private void twodigit(long parentNumber, long tenID, boolean iszero) {
int i = 0;
if (iszero) i = 0;
else i = 1;
long tenIDResult = (long) Math.pow(10, tenID);
for (; i <= 9; i++) {
System.out.println((long) (parentNumber + 11 * i * tenIDResult));
}
}
/* */
private void threedigit(long parentNumber, long tenLID, boolean isThree, long tenID) {
long i = 1;
if (!isThree) i = 0;
for (; i <= 9; ) {
long result = parentNumber;
if (isThree) {
adigit((long) (i * Math.pow(10, 2) + i), tenID);
} else {
result += i * Math.pow(10, 2 * tenID - tenLID) + i * Math.pow(10, tenLID);
// System.out.println("3 "+i+"p...."+result+"i>>>>>"+i);
adigit(result, tenID);
}
++i;
}
}
/* */
private void fourdigit(long parentNumber, long tenFID, long tenLID, boolean isfour, long tenID) {
long i = 1;
if (!isfour) i = 0;
for (; i <= 9; i++) {
if (isfour) {
twodigit((long) (i * Math.pow(10, 3) + i), tenID, true);
} else {
twodigit((long) (i * Math.pow(10, tenFID) + i * Math.pow(10, tenLID) + parentNumber), tenID - 1, true);
}
}
}
/* n */
public void PalindromeNumber(long n) {
if (n <= 0) return;
if (n > 4) {
PalindromeNumber(4);
for (int i = 1; i <= n; i++) {
if (i == 1) {
adigit(0, 0);
continue;
} else if (i == 2) {
twodigit(0, 0, false);
continue;
} else if (i == 3) {
threedigit(0, 0, true, 1);
continue;
} else if (i == 4) {
fourdigit(0, 0, 0, true, 1);
continue;
}
oddDigitPalindromeNumber(i, 0, false, 0, 0);
}
}
}
public void palindromeNumber(long n) {
for (int i = 1; i < n; i++) {
PalindromeNumber(n);
}
}
public void oddDigitPalindromeNumber(long n, long tenId, boolean isZero, long PN, long lastTenId) {
int i = 0;
/* 0*/
if (!isZero) {
tenId = n / 2;
i = 1;
}
/* 5 */
if (n == 3) {
// System.out.println("nT"+nextTenId);
threedigit(PN, lastTenId, false, tenId);
return;
}
/* 6 */
else if (n == 4) {
// System.out.println("lId:::"+(2*tenId-lastTenId-1));
fourdigit(PN, 2 * tenId - lastTenId - 1, lastTenId, false, tenId);
return;
}
for (; i <= 9; ) {
long result = PN;
if (!isZero) {
PN = (long) (i * Math.pow(10, n - 1) + i);
result = PN;
lastTenId = 0;
} else {
result += (long) (i * Math.pow(10, 2 * tenId - lastTenId) + i * Math.pow(10, lastTenId));
// System.out.println("res"+result);
}
//if (!isZero) System.out.println("i"+i);
++i;
oddDigitPalindromeNumber(n - 2, tenId, true, result, lastTenId + 1);
}
}
/* 6 */
public void fire() {
oddDigitPalindromeNumber(6, 0, false, 0, 0);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 정렬 셸 정렬이전 몇 편의 정렬 에 관 한 알고리즘 은 모두 비교적 간단 한 정렬 이 었 습 니 다. 꼭 쓸 수 있 는 것 은 아니 지만 한눈 에 알 수 있 습 니 다. 다음 몇 편의 정렬 은 곰 곰 이 생각 하거나 그림 을 그...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.