Code

자바의 정석 문제풀이(4_15)

MuGrammer 2012. 4. 13. 22:25

package ch4;

 

/**

* @author Mugrammer

*

*/

public class Excercise4_15 {

 

    /**

     * 회문수(palindrome) 구하기

     * 거꾸로 읽어도 앞으로 읽는 것과 같은 수를 말한다.

     * ex) 12321 13531

     * hint > 나머지 연산자를 이용

     * @param args

     */

    public static void main(String[] args) {

        

        int number = 12321;

        int tmp = number;

        

        int result = 0; // 변수 nubmer를 거꾸로 변환해서 담을 변수

        

        // 자릿수를 구하고 자릿수만큼 10으로 나눈다.

        // 10으로 나눈 나머지를 큰 자릿수만큼 곱하여 result에 담는다.

        // 10으로 나눈 몫은 다시 tmp에 담는다.

        for(int i=countNum(tmp); -1 < i; i--){

            result += (tmp%10)*(int)Math.pow(10, i);

            System.out.println(result);

            tmp = tmp/10;

            System.out.println(tmp);

        }

        

        System.out.println(result);

        

        if(number == result)

            System.out.println(number + "는 회문수입니다.");

        else

            System.out.println(number + "는 회문수가 아닙니다");        

    }

    

    /**

     * 파라미터로 넘겨받은 숫자의 자릿수를 판별한다.

     *

     * @param int a

     * @return

     */

    public static int countNum(int a){

        int cnt = 0;

        while(a != 0){

            a = a/10;

            if(a == 0) return cnt;

            cnt++;

        }

        

        return 0;

    }

 

}

반응형

'Code' 카테고리의 다른 글

Codility- PermMissingElem  (0) 2020.08.14
배열 섞기 (난수발생, 자리수구하기)  (0) 2013.01.05
자바의 정석 문제풀이(4_14)  (0) 2012.04.08
자바의 정식 문제풀이(4_13)  (0) 2012.04.02
자바의 정석 문제풀이(4_12)  (0) 2012.04.01