% 및/가 있는 회문[Java]
4061 단어 tutorialjavaprogramming
숫자는 왼쪽에서 오른쪽으로 읽을 때와 오른쪽에서 왼쪽으로 읽을 때 숫자가 같으면 회문입니다. 예로서:
따라서 반전된 숫자를 찾고 원래 숫자와 같은지 확인해야 합니다.
이 시나리오에는 while 루프가 적합합니다. 우리는 원래 숫자를 가져와 원래 숫자로 분해할 것입니다. 우리는 이것을 역 넘버너를 재구축하기 위해 사용할 것입니다.
솔루션으로 이동하기 전에 먼저 언급해야 할 몇 가지 속성이 있습니다.
모듈로 연산자는 나눗셈의 나머지를 반환하므로 숫자가 %10이면 해당 숫자의 마지막 숫자를 갖게 됩니다. 반올림이 발생하지 않습니다.
1123 MOD 10 = 3
1124 MOD 10 = 4
이것은 정수의 마지막 자리를 잡는 데 사용할 주요 도구입니다.
정수 나누기는 나머지를 버립니다. 따라서 10으로 나눈 정수는 단순히 나머지 숫자를 제공하고 마지막 숫자를 제거합니다.
이 단계는 다음 반복에서 나머지가 정확하도록 다른 숫자를 제공하는 데 중요합니다.
위에서 언급한 모든 논리를 포함하는 솔루션 아래:
public class Palindrome {
public static void main(String[] args) {
// hard-coding my numbers for ease of use
int num = 1771;
int temp = num;
int reversedNumber = 0;
while (temp > 0) {
// MOD division to get the last digit
int lastDigit = temp % 10;
// reversed number built by adding the last digit
// to the previous last digit multiplied by 10.
// We are shifting the numbers.
reversedNumber = reversedNumber * 10 + lastDigit;
// integer division that will equal to 0
// if the number is < 10 and
// consequently stopping the while loop.
temp = temp/10;
}
if (num == reversedNumber) {
System.out.println("It is a palindrome");
} else {
System.out.println("It is not a palindrome");
}
}
}
루프 내의 논리에 매료되었지만 이 접근 방식에 대해 어떻게 생각하는지 알려주세요.
Reference
이 문제에 관하여(% 및/가 있는 회문[Java]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/anadamastor/palindrome-with-and-java-136h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)