Function IsEqual(n:longint):boolean; { возвращает True, если первая и последняя цифры числа равны } var s:string; begin Str(n,s); IsEqual:=(s[1]=s[Length(s)]) end;
var k:longint; begin Write('Введите натуральное число '); Read(k); Write('Первая и последняя цифры введенного числа '); if not IsEqual(k) then Write('не '); Writeln('совпадают') end.
Тестовые решения: Введите натуральное число 15342403 Первая и последняя цифры введенного числа не совпадают
Введите натуральное число 745370007 Первая и последняя цифры введенного числа совпадают
Вообще то, это задача чисто математическая. Пусть есть трехзначное число abc. По условию:
abc + abc
bca Понятно, что максимальным число будет, если сложение в двух младших разрядах идет через перенос -> получим систему уравнений: 2c = a +16 2b +1 = c + 16 2a + 1 = b равносильная ей система 2с = a + 16 c = 2b - 15 b = 2a + 1 подставляем третье во второе, получаем первые два уравнения 2с = a + 16 c = 4a - 13 из этих двух уравнений -> 7a = 42 -> a = 6 -> из третьего уравнения b = 13 13 = D(16), из первого уравнения с = 22/2 = 11(10) = B(16) -> abc(16) = 6DB(16) = 1755(10), DB6(16) = 3510(10) -> 2abc = bca
{ возвращает True, если первая и последняя цифры числа равны }
var
s:string;
begin
Str(n,s);
IsEqual:=(s[1]=s[Length(s)])
end;
var
k:longint;
begin
Write('Введите натуральное число '); Read(k);
Write('Первая и последняя цифры введенного числа ');
if not IsEqual(k) then Write('не ');
Writeln('совпадают')
end.
Тестовые решения:
Введите натуральное число 15342403
Первая и последняя цифры введенного числа не совпадают
Введите натуральное число 745370007
Первая и последняя цифры введенного числа совпадают