Пусть а - число правильных ответов, с - число неправильных ответов. тогда число вопросов, на которые ответы даны не были - 25-а-с 5*а-9*с=40 с у нас больше либо равно 1, тогда делаем методом подстановки, не забывая, что а - обязательно целое число. с=1 5а-9=40, 5а=49, а - число не целое, значит, не подходит. с=2 5а-18=40, 5а=58, а - число не целое, значит, не подходит. с=3 5а-27=40, 5а=67, а - число не целое, значит, не подходит. с=4 5а-36=40, 5а=76, а - число не целое, значит, не подходит. с=5 5а-45=40, 5а=85, откуда а =17. ответ: 17.
var
i, a, b, n, n2, j: longint;
s: string;
flag: boolean;
begin
Write('Введите через пробел границы диапазона: ');
Readln(a, b);
if b < a then begin n := a; a := b; b := n end;
if a < 11 then a := 11;
for i := a to b do
begin
Str(i, s);
n := Length(s); n2 := n div 2; flag := true; j := 1;
repeat
flag := (s[j] = s[n - j + 1]);
j := j + 1
until (not flag) or (j > n2);
if flag then Write(i, ' ')
end;
end.
Тестовое решение:
Введите через пробел границы диапазона: 800 1500
808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999
Объяснение: