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
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
Объяснение:
ответ:
1. если делить так, чтоб в каждом пакете был один апельсин и все фрукты были разделены, то
чс из 3 по 2 * 2! ( чс из 7 по 4) = 210 - разделили все фрукты, и в каждом пакете по 5 фруктов.
2.если делить не все фрукты, но поровну, и чтоб в каждом был 1 апельсин:
(чс из 3 по 2 )* 2! ( чс из 7 по1 + (чс из 7 по 1 ) * ( чс из 6 по 2) + (чс из 7 по 3)* (чс из 4 по 4) ) плюс
(чс из 3 по 2 )* ((чс из 7 по 1)* (чс из 6 по 1) + (чс из 7 по 2)*(чс из 5 по 2) +
(чс из 7 по 3)* (чс из 4 по 3)) = 6* ( 7+105+35) + 3* (42+210+140) = 2058 способов.
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
Объяснение:
ответ:
1. если делить так, чтоб в каждом пакете был один апельсин и все фрукты были разделены, то
чс из 3 по 2 * 2! ( чс из 7 по 4) = 210 - разделили все фрукты, и в каждом пакете по 5 фруктов.
2.если делить не все фрукты, но поровну, и чтоб в каждом был 1 апельсин:
(чс из 3 по 2 )* 2! ( чс из 7 по1 + (чс из 7 по 1 ) * ( чс из 6 по 2) + (чс из 7 по 3)* (чс из 4 по 4) ) плюс
(чс из 3 по 2 )* ((чс из 7 по 1)* (чс из 6 по 1) + (чс из 7 по 2)*(чс из 5 по 2) +
(чс из 7 по 3)* (чс из 4 по 3)) = 6* ( 7+105+35) + 3* (42+210+140) = 2058 способов.