본문 바로가기
프로그램/C# 1000제

C# 13제] C# 프로그램 입문 CHAPTER 3. p149 3.9 (3) 회문수 여부를 파악하는 프로그램을 작성하시오.

by 건티 2021. 8. 22.
728x90

출처 : 대한민국 외교부 독도갤러리

 

 

문제]

회문수(Palindromic number)란 숫자를 역순으로 쓴 수와 같은 값을 갖는 수를 말한다. 즉, 121, 526625와 같은 수이다. 정수를 읽어서 회문수인지 아닌지 판별하는 C# 프로그램을 작성하시오.

 

 

참고풀이]

using System;
using System.Collections.Generic;
using System.Text;

namespace Chapter3
{
    class P149_3_9_3
    {
        static void Main(string[] args)
        {
            //회문수를 체크하는 프로그램
            int N;//입력문자열의 길이
            bool chk1, chk2; //회문체크 변수
            int Ban;//입력숫자 위치의 반 변수
            int i;
            String Str;//수를 문자열로 변환할 변수

            //문자열을 입력받는다.
            Str = Console.ReadLine();
            chk1 = true;
            for (i = 0; i < Str.Length; i++)
                 if (Str[i] >= '0' && Str[i] <= '9');
                 else
                 {
                    chk1 = false;
                    break;
                 }
            if(chk1)
            {
                N = Str.Length - 1;
                Ban = Str.Length / 2;
                chk2 = true;//회문이라 정한다.
                for (i = 0; i < Ban; i++)
                    if (Str[i].CompareTo(Str[N - i]) != 0)
                    {
                        chk2 = false; break;
                    }

                if (chk2)
                    Console.WriteLine("회문입니다.");
                else
                    Console.WriteLine("회문이 아닙니다.");
            }
            else
                Console.WriteLine("숫자 이외의 문자가 포함되었습니다.");

        }

    }
}

 

 

참고풀이 결과]

 

 

 

대한민국의 아름다운 영토, 독도의 봄

 

반응형

댓글