Дано слово, которое состоит только из заглавных и строчных латинских букв. Проверьте, верно ли, что это слово может быть прочитано одинаково как справа налево, так и слева направо (то есть является палиндромом), игнорируя регистр букв. Выведите "YES", если слово является палиндромом, и "NO", если не является. Решение должно быть представлено в виде функции IsPalindrome(S), которая возвращает значение типа bool. При решении этой задачи не допускается использование массивов или строк.
Пример Ввода:
Radar
Пример Вывода:
YES
Пример Ввода:
Radar
Пример Вывода:
YES
Магический_Кот
Хорошо, решение данной задачи может быть представлено в виде функции "IsPalindrome(S)". Функция будет принимать в качестве аргумента строку "S" и возвращать значение типа bool. Вот подробный алгоритм решения:
1. Создать две переменные "i" и "j" и инициализировать их соответственно с 0 и длиной строки "S" минус 1.
2. Запустить цикл, который будет выполняться до тех пор, пока "i" меньше или равно "j".
3. Внутри цикла сравнить символы на позициях "i" и "j" в строке "S", игнорируя регистр букв. Если они не равны, вернуть "NO".
4. Увеличить значение "i" на 1 и уменьшить значение "j" на 1.
5. После окончания цикла вернуть "YES", так как все символы сравнены и они совпадают, игнорируя регистр.
Вот код на Python, который реализует данную функцию:
Пример использования функции:
В данном примере функция вернет "YES", так как слово "Radar" является палиндромом, считая символы без учета регистра.
1. Создать две переменные "i" и "j" и инициализировать их соответственно с 0 и длиной строки "S" минус 1.
2. Запустить цикл, который будет выполняться до тех пор, пока "i" меньше или равно "j".
3. Внутри цикла сравнить символы на позициях "i" и "j" в строке "S", игнорируя регистр букв. Если они не равны, вернуть "NO".
4. Увеличить значение "i" на 1 и уменьшить значение "j" на 1.
5. После окончания цикла вернуть "YES", так как все символы сравнены и они совпадают, игнорируя регистр.
Вот код на Python, который реализует данную функцию:
python
def IsPalindrome(S):
i = 0
j = len(S) - 1
while i <= j:
if S[i].lower() != S[j].lower():
return False
i += 1
j -= 1
return True
Пример использования функции:
python
word = "Radar"
result = IsPalindrome(word)
if result:
print("YES")
else:
print("NO")
В данном примере функция вернет "YES", так как слово "Radar" является палиндромом, считая символы без учета регистра.
Знаешь ответ?