C#의 회문

王林
풀어 주다: 2024-09-03 15:34:21
원래의
1013명이 탐색했습니다.

모든 대학에서는 학생들에게 운동을 제공하는 경향이 있습니다. 재미있게 만들기 위해 회문과 같은 프로그램이 학생들에게 제공됩니다. 모든 프로그래밍 언어에는 회문용 프로그램을 작성하는 고유한 방법이 있습니다. 많은 사람들이 이 개념에 익숙할 수도 있고 익숙하지 않을 수도 있습니다. 그것에 대해 걱정하지 마십시오. 다음 C#의 회문 기사에서는 회문이 정확히 무엇인지, 그리고 이를 프로그래밍 방식으로 구현하는 방법을 이해하게 될 것입니다.

회문이 정확히 무엇을 의미하는지 이야기해 보겠습니다. 뒤집어도 같은 숫자는 무엇이든 가능합니다.

예: 1234321 => 이 번호는 역순으로 써도 같은 번호가 나옵니다.
더 많은 예는 565,757, 99899, ​​52125 등입니다.

이제 정확한 계산 방법을 살펴보겠습니다.

번호 434가 있다고 가정해 보겠습니다.
이제 뒤집어서 434만 얻습니다.

회문의 가장 재미있는 점은 회문을 추가하면 새로운 회문 번호를 얻게 된다는 것입니다.

예: 214 + 412 = 626 (626은 회문번호에 불과합니다.)
즉, 앞으로 또는 뒤로 이동하지 않으면 동일한 번호를 얻게 됩니다.
다양한 언어로 회문을 확인하는 특정 방법이 있습니다. 여기서는 C#으로 확인해보겠습니다.

C# Palindrome의 논리

여기에 사용된 간단한 논리는 일련의 입력을 앞뒤로 순회하며, 주어진 숫자나 문자열은 회문이라고 불리는 해당 출력의 초기와 동일합니다.

사용자의 입력을 받아 회문인지 여부를 확인하는 아래 프로그램을 주의 깊게 살펴보세요. 회문의 개념을 알면 매우 쉽게 식별할 수 있습니다.

코드:

using System;
public class IsPalindrome
{
public static void Main(string[] args)
{
int no,total=0,t,rev;
Console.Write("Please provide the no: ");
no = int.Parse(Console.ReadLine());
t=no;
while(no>0)
{
rev=no%10;
total=(total*10)+rev;
no=no/10;
}
if(t==total)
Console.Write("The given number is Palindrome.");
else
Console.Write("The given number is not Palindrome");
}
}
로그인 후 복사

출력:

사용자에게 아무 번호나 입력하라고 요청하는 출력

이제 no를 입력하면 no가 회문인지 아닌지를 보여줍니다.

C#의 회문

위 프로그램에서는 사용자로부터 입력을 받았습니다. 우리는 구문 분석 방법을 통해 해당 입력을 정수로 변환했습니다. while 루프의 도움으로 no를 뒤집어서 원래의 no로 확인했습니다.

사용자가 제공한 no와 우리가 뒤집은 no가 동일하면 해당 no는 회문입니다. 여기서는 212를 선택했습니다. 그리고 주어진 숫자로 얻은 출력은 회문입니다.

다양한 방법을 사용하여 C#에서 Palindrome을 확인하는 방법은 무엇입니까?

지금까지는 회문형 숫자만 확인했습니다. 하지만 문자열로도 이를 확인할 수 있다고 말씀드리겠습니다. 문자열의 어떤 조합으로 인해 회문과 같은 성격도 갖게 됩니다.

예시 #1 – 부인

이 문자열을 가져와서 거꾸로 뒤집으면 같은 문자열을 찾을 수 있습니다.
프로그램적으로 보시면 좋을 것 같습니다.

코드:

using System;
public class Palindrome {
public static void Main(string[] args) {
string inputStr, r;
inputStr = "Madam";
char[] letter = inputStr.ToCharArray();
Array.Reverse(letter);
r = new string(letter);
bool bool1 = inputStr.Equals(r, StringComparison.OrdinalIgnoreCase);
if (bool1 == true) {
Console.WriteLine("This string " + inputStr + " is a Palindrome!");
} else {
Console.WriteLine("This string " + inputStr + " is not a Palindrome!");
}
Console.ReadLine();
}
}
로그인 후 복사

출력:

C#의 회문

이제 위 프로그램에 대해 이야기해 보겠습니다. 우리가 여기서 실제로 한 일.

여기서 우리는 "Madam"이라는 문자열 하나를 선택했습니다. 그런 다음 해당 문자열을 문자 배열로 변환했습니다. ToCharArray() 메서드를 사용하여 문자 배열을 만들었습니다. 문자 배열을 생성한 후 해당 배열에 reverse 메서드를 사용하여 역방향으로 만들었습니다. 그런 다음 Equals() 메서드를 사용하여 주어진 문자열과 역방향 문자열을 모두 비교했습니다. 우리는 이 메서드의 출력을 Boolean 유형의 bool1이라는 변수에 저장했습니다.

이제 마지막으로 if-else 조건을 사용하여 bool1 변수가 true 또는 false인지 확인했습니다. 우리 프로그램에서는 if 조건이 실행됩니다. 따라서 출력은 "문자열 Madam은 회문입니다."입니다.

단어나 숫자를 찾는 데에는 제한이 없습니다.

퍼즐을 만들 수 있습니다. 하나의 전체 단락이 있는데 누군가 회문인 문자열이 있는지 확인하라고 요청하는 등 여러 가지 조건이 있습니다.

문단이 있는 것 같지만 문장 자체가 회문인 경우도 있습니다.

예시#2 – 내가 본 것은 자동차였나요, 고양이였나요?

위 문장을 반대로 하면 또 같은 문장이 나옵니다.

예를 들어보겠습니다. 아래 코드를 확인해주세요.

코드:

using System;
public class Palindrome
{
public static bool IsPalindrome(string value)
{
int x = 0;
int y = value.Length - 1;
while (true)
{
if (x > y)
{
return true;
}
char i = value[x];
char j = value[y];
// Scan forward for a while invalid.
while (!char.IsLetterOrDigit(i))
{
x++;
if (x > y)
{
return true;
}
i = value[x];
}
while (!char.IsLetterOrDigit(j))
{
y--;
if (x > y)
{
return true;
}
j = value[y];
}
if (char.ToLower(i) != char.ToLower(j))
{
return false;
}
x++;
y--;
}
}
public static void Main()
{
string[] ary =
{
"Was it a car or a cat I saw?"
};
foreach (string value in ary)
{
Console.WriteLine("{0} = {1}", value, IsPalindrome(value));
}
}
}
로그인 후 복사

출력:

C#의 회문

따라서 우리가 말했듯이 전체 문장 자체가 회문입니다. 뒤집어도 같은 문장이 나옵니다.

위 프로그램에서는 문장을 끝까지 탐색합니다. 그런 다음 소문자로 만들고 주어진 문장과 비교하여 확인했습니다. 직접 코딩하여 이 프로그램을 사용해 보세요. 그래야만 이 프로그램의 실제 흐름을 이해할 수 있습니다.

결론

회문처럼 많은 트릭이 있습니다. 우리는 본질적으로 회문인 독침과 수를 보았습니다. 몇 단계만 거치면 얼마나 쉽게 목표를 달성할 수 있었나요?

위 내용은 C#의 회문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿