// PascalABC.NET 3.4, сборка 1717 от 20.07.2018
// Внимание! Если программа не работает, обновите версию!
begin
var s := ReadLnstring('Введите строку').ToWords.First.ToLower;
if s = s.Inverse then Println('Палиндром')
else Println('Не палиндром')
end.
Давай сравним все 4 числа между собой, найдём максимальное и вычтем из него N.
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b, c, d, n;
cin >> a >> b >> c >> d >> n;
if (a > b && a > c && a > d)
a -= n;
else if (b > a && b > c && b > d)
b -= n;
else if (c > a && c > b && c > d)
c -= n;
else d -= n;
cout << a << " " << b << " " << c << " " << d << endl;
return 0;
}
Тернарная операция в C++ - это выражение вида (b ? x : y) (где b - логическое выражение, а x и y - одного типа). Она вернёт x, если выражение b истинно, и y, если b ложно.
В приложении расписаны координаты некоторых клеток, а также помечены точками те, которые по цвету отличаются от не помеченных. Если поискать, что у них общего, можно обнаружить, что у "невыколотых" клеток сумма координат по горизонтали и вертикали - чётная. Это "свойство" и используем для определения цвета клетки.
#include <bits/stdc++.h>
using namespace std;
int main() {
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
cout << ((x1 + y1) % 2 == (x2 + y2) % 2 ? "YES" : "NO") << endl;
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
Вводится строка(до пробела) необходимо определить является ли она палиндромом или нет. вывести - yes или no
Неизвестно, какой вам нужен язык, поэтому напишу общий алгоритм.
Пусть нам дана строка S и нам известна её длина |S|.
Двумя указателями
i = 1
j = |S|
Проходим по строке
p = true
while i < j {
if (S[i] != S[j}) {
p = false
break
}
i++
j--
}
if (p) {
print("YES")
} else {
print("NO")
}