Ответ №2 (=A2/С1)
__________________
Не уверен может не работать.....
var
a,n,sn,s,i,n1:integer;
begin
readln(n);
n1:=n;
repeat
sn:=sn+n1 mod 10;
n1:=n1 div 10;
until n1=0;
for i:=1 to n-1 do
begin
a:=i;
s:=0;
repeat
s:=s+a mod 10;
a:=a div 10;
until a=0;
if s=sn then write(i,' ');
end;
readln;
end.
<span>program Metka;
\\ Даем имя метке
label M1;
</span>
<span><span>\\ Даем имя переменной х
</span>var x: shortint;
</span>
<span><span>\\ Начало программы
</span>begin
</span>
<span><span>\\ Выводим текст с просьбой ввода числа
</span>M1:writeln ('Введите x>100');
</span>
<span><span>\\ Запрос на ввод числа
</span>readln(x);
</span>
<span><span>\\ Если введенное число <=100 то идем на М1
</span>if x<=100 then GOTO M1
</span>
<span><span>\\ Конец программы
</span>end.</span>
Два недочета
1) нет точки с запятой после <span>writeln ('x>100')
2) Неверное условие - должно быть <=, т.к. при х=100 условие х>100 не должно выполняться.
</span>3) Желательно попросить ввести х>100 - слово Введите - не лишнее
Мне кажется, что эта программа неверна из-за отсутствия реализации про k-ую строку. Она выдает длину первой строки, а надо k-ой. Как это сделать - просто ввести счетчик на цикле, или использовать ту самую k.
Итого код:
var f:text;
s:string;
max,n,k:longword;//longword - беззнаковый аналог integer (если не будет работать, надо заменить обратно на intger)
begin
read(k);//Или откуда там мы берем это число k?..
assign(f,'1.txt');
reset(f);
readln(f,s);
n:=length(s);
max:=n;
while (not eof(f)) and (k>0) do
begin
k-=0;
readln(f,s);
if length(s)> max then max:=length(s);
end;
n:=length(s);
while not eof(f) do begin
readln(f,s);
if length(s)> max then max:=length(s);
end;
close(f);
writeln('Длина самой длинной строки: ',max);
writeln('Длина k строки: ',n);
writeln('Произведение длин самой длинной и k-ой строки: ', max*n);
end.
Обращайтесь (/обращайся), если что-то не понятно, я попробую объяснить, причем как в этом решении, так и вообще в самом принципе решения.
B=12*-5=-60
b=-60:2*-5=150
******************
b=150