package Ex4;
public class Ex4_15 {
// [4-15] 다음은 회문수를 구하는 프로그램이다. 회문수(palindrome)란, 숫자를 거꾸로 읽
//
// 어도 앞으로 읽는 것과 같은 수를 말한다. 예를 들면 ‘12321’이나 ‘13531’같은 수를 말한
//
// 다. (1)에 알맞은 코드를 넣어서 프로그램을 완성하시오.
//
// [Hint] 나머지 연산자를 이용하시오.
//
// [연습문제]/ch4/Exercise4_15.java
// class Exercise4_15
// {
// public static void main(String[] args)
// {
// int number = 12321;
// int tmp = number;
//
// int result =0; // 변수 number를 거꾸로 변환해서 담을 변수
//
// while(tmp !=0) {
// /*
// (1) 알맞은 코드를 넣어 완성하시오 .
// */
// }
//
// if(number result)
// System.out.println( number + "는 회문수 입니다.");
// else
// System.out.println( number + "는 회문수가 아닙니다.");
// } // main
// }
//
// [실행결과]
// 12321는 회문수 입니다.
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int number = 12321;
int tmp = number;
int result = 0; // 변수 number를 거꾸로 변환해서 담을 변수
while (tmp != 0) {
/*
* (1) 알맞은 코드를 넣어 완성하시오 .
*/
result = result * 10 + tmp % 10; // 기존 결과에 10을 곱해서 더한다.
tmp /= 10;
System.out.println(result);
// System.out.println(tmp);
}
if (number == result) {
System.out.println(number + "는 회문수 입니다.");
} else {
System.out.println(number + "는 회문수가 아닙니다.");
}
}
// [해설] 숫자를 역순으로 바꾼 후 원래의 숫자와 비교해서 같으면 회문수이다.예를 들어
// 원래의 숫자(number)의 값이 12345라면, 역순으로 바꾸면 54321이 될 것이다. 어떻게 하
// 면 12345를 54321로 바꿀 수 있을까? 각 자리수의 값을 더하는 문제4-10과 같은 방식, 10
// 으로 나눠가면서 10으로 나머지 연산을 하는 방식으로 각 자리수를 얻을 수 있다. 다만
// 그냥 더하는 게 아니라 10을 곱해가면서 더하면 숫자를 역순으로 바꿀 수 있다.
}
'프로그래밍 > 자바의정석_4_연습문제' 카테고리의 다른 글
[4-14] 다음은 숫자맞추기 게임을 작성한 것이다. 1과 100사이의 값을 반복적으로 입력해서 컴퓨터가 생각한 값을 맞추면 게임이 끝난다. (0) | 2014.12.30 |
---|---|
[4-13] 다음은 주어진 문자열(value)이 숫자인지를 판별하는 프로그램이다. (1)에 알맞은 코드를 넣어서 프로그램을 완성하시오. (0) | 2014.12.30 |
[4-12] 구구단의 일부분을 다음과 같이 출력하시오. (0) | 2014.12.22 |
[4-11] 피보나치(Fibonnaci) 수열(數列)은 앞을 두 수를 더해서 다음 수를 만들어 나가는 수열이다. (0) | 2014.12.22 |
[4-10] int타입의 변수 num 이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하라. (0) | 2014.12.22 |