PascalABC.Net:procedure GetData(var a,b:longint; var k:char); { ввод исходных данных }begin Write('Введите через пробел натуральные границы диапазона: '); Readln(a,b); Write('Введите искомую цифру: '); Readln(k)end;procedure Summa(a,b:longint;k:char;var s:longint); { подсчет суммы чисел из интервала [a,b], содержащих цифру k }var i:integer; ci:string;begin s:=0; for i:=a to b do begin Str(i,ci); if Pos(k,ci)>0 then s:=s+i end end;var a,b,sum:longint; k:char;begin GetData(a,b,k); Summa(a,b,k,sum); Writeln('Сумма чисел, содержащих цифру ',k,' равна ',sum)end.
Тестовое решение:Введите через пробел натуральные границы диапазона: 50 150Введите искомую цифру: 6Сумма чисел, содержащих цифру 6 равна 1589