Uses crt;
var n,d,z,x,c,k,a,b:integer;
begin
write('N:'); readln(n);
write('D:'); readln(d);
a:=round(power(10,n-1));
b:=round(power(10,n)-1);
for x:=a to b do
begin
z:=x;
k:=0;
while z>0 do
begin
c:=z mod 10;
if c=d then inc(k);
z:=z div 10;
end;
if k=0 then writeln(x);
end;
end.
<em>// PascalABC.NET 3.3, сборка 1555 от 21.10.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var (p,q,s):=(1,2,0);
var k:=0;
Write('(1,5) ');
for var i:=3 to 1000 do begin
var (flag,j,r):=(True,2,Round(Sqrt(i)));
while flag and (j<=r) do
if i mod j = 0 then flag:=false
else j+=1;
if flag then begin
(p,q,s):=(q,s,i);
if q-p=4 then Write('(',p,',',q,') ')
else
if s-p=4 then Write('(',p,',',s,') ')
end
end
end.
<u>Результат</u>
(1,5) (3,7) (7,11) (13,17) (19,23) (37,41) (43,47) (67,71) (79,83) (97,101) (103,107) (109,113) (127,131) (163,167) (193,197) (223,227) (229,233) (277,281) (307,311) (313,317) (349,353) (379,383) (397,401) (439,443) (457,461) (463,467) (487,491) (499,503) (613,617) (643,647) (673,677) (739,743) (757,761) (769,773) (823,827) (853,857) (859,863) (877,881) (883,887) (907,911) (937,941) (967,971)
1) 855(16)/1B(16)=4F(16)
2) 4E.8(16)*4D.A=17C<span>D.9(16)
Подробное решение столбиком в прикрепленных.
</span>
Решение задачи:
«Переводим» условие задачи на язык алгебры логики ;-)
1. Определяемся с системой обозначений для логических высказываний:
А – Алёша Попович;
М – Микула Селянинович;
Д – Добрыня Никитич.
Илья Муромец первым перед царём-батюшкой слово держал, но про него никто ничего не сказал :-)
«Это всё Алёша Попович, царь-батюшка» – это Алёша Попович«То был Микула Селянинович» – это МикулаСелянинович«Не прав Алёша, не я то» – это не Микула Селянинович«И не я, царь-батюшка» – это не Добрыня Никитич
Сведём выше сказанное в единое целое (логическая связка «И»):

Учитывая слова Бабы-Яги:
«А прав-то лишь один из богатырей, видела я всю битву своими глазами»:
Правду сказал Илья МуромецПравду сказал Алёша ПоповичПравду сказал Микула СеляниновичПравду сказал Добрыня Никитич
Лирическое отступление ;-) алгебра логики
∧ – знак логического умножения (конъюнкция) – соединение высказываний с помощью союза «И» (AND). X∧Y; X&Y; X·Y или XY. Где: « ∧ », « & », « · » – знаки, обозначающие операцию логического умножения. Все варианты записи равнозначны. В решении нашей задачи для облегчения восприятия итоговой формулы я использую вариант записи логического умножения «XY».
∨ – знак логического сложения (дизъюнкция) – соединение высказываний с помощью союза «ИЛИ» (OR). X∨Y; X + Y. Где: « ∨ », « + » – знаки, обозначающие операцию логического сложения. Оба варианта записи равнозначны. В решении нашей задачи я использую вариант записи логического сложения «X + Y».
Некоторые операции и законы алгебры логики, необходимые для решения нашей задачи:
закон двойного отрицания:

закон идемпотентности для конъюнкции:

операции с переменной и её инверсией:

2. Конструируем итоговую логическую формулу, описывающую логические связи между всеми высказываниями условия задачи. По условию нашей задачи прав только один из богатырей (логическая связка «ИЛИ»):

3. Определяем значения истинности логической формулы. Упрощаем формулу. Используем операции и законы алгебры логики и учитываем, что по условию нашей задачи: А ∧ М = 0; А ∧ Д = 0; М ∧ Д = 0

Ответ: Змея Горыныча победил Добрыня Никитич!