반응형
안녕하세요.
대칭수 ( 회문수 ) 란 121, 13331, 132231 등 과 같이 앞에서 읽으나, 뒤에서 읽으나 값이 같은 숫자를 뜻합니다.
C#으로 특정 값을 입력받고, 입력 받은 값이 대칭수인지 판별하는 프로그램을 작성해보았습니다.
코드는 아래와 같습니다.
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("값을 입력하세요.");
string value = Console.ReadLine();
bool isPalindromicNumber = true;
for (int i = 0; i < value.Length / 2; i++)
{
//대칭수 인지 판단
//앞 뒤로 하나씩 값이 같은지 비교
if (value[i] != value[value.Length -1 -i] )
{
isPalindromicNumber = false;
break;
}
}
Console.WriteLine(string.Format("{0}은 대칭수가 {1}", value.ToString(), isPalindromicNumber ? "맞습니다." : "아닙니다."));
}
}
}
실행결과는 아래와 같습니다.
대칭수인지 판별하는 부분은 아래 부분인데,
맨 앞 글자와 맨 뒤 글자를 불러와 비교하고, 같으면 두번째 글자와 맨 뒤에서 두번째 글자를 불러와 비교하면서 같은지 다른지 판별합니다. 입력받은 값의 길이의 반 만큼(소수점은 버림처리) 비교해서 같은지 다른지 확인하면 대칭수인지 판별 할 수 있습니다.
for (int i = 0; i < value.Length / 2; i++)
{
//대칭수 인지 판단
//앞 뒤로 하나씩 값이 같은지 비교
if (value[i] != value[value.Length -1 -i] )
{
isPalindromicNumber = false;
break;
}
}
반응형
'C#' 카테고리의 다른 글
C# 폴더에 있는 파일을 복사하는 소스 예제 (0) | 2021.07.08 |
---|---|
배열에 있는 String 값을 연결하는 방법 (0) | 2021.05.25 |
C# 문자열을 특정 기호를 기준으로 split 하기 (0) | 2020.10.26 |
C# 10진수를 2진수, 8진수, 16진수로 표시하는 방법 (0) | 2020.10.26 |
C# 함수에 virtual ( 함수 재 정의 )사용 예제입니다. (0) | 2020.10.26 |
댓글