1) 7 - изза начального присвоение m
2) 994. 4 соответствует условию, остальные числа лишь максимизируют число
3)
var
N, d, m: longint;
begin
readln(N);
{m := N mod 10; ошибочная строка}
m:=-1; {N mod 10 - может не удовлетворять условию, 0 - может и удовлетворять условию }
while N > 0 do
begin
d := N mod 10;
if d < 5 then
if d > m then m := d;
N := N div 10;
end;
{if m = 0 then ошибочная строка}
if m = -1 then {если в цикле m так не разу и не поменялась}
writeln('NO')
else writeln(m);
end.
const
n=30;
var
a:array [1..n] of integer;
i,min:integer;
begin
for i:=1 to n do begin
readln (a[i]);
if a[i]>=20 then min:=a[i];
end;
for i:=2 to n do
if (a[i]>=20) and (a[i]<min) then min:=a[i];
writeln (min);
readln;
end.
Вот держите.
Решение в прикрепе.
<h3>Код (Pascal)</h3>
var
x, i: longint;
begin
read(x);
for i := 1 to 10 do
write(x * i, ' ');
writeln;
end.
-------------------------
Файл с решением прикреплён.
<em>// PascalABC.NET 3.2, сборка 1467 от 02.06.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Range(0.5,4.0,7).Select(x->(x,Power(x+1,3)-2))
.ForEach(x->Writeln(x[0]:4:2,x[1]:10:3))
end.
<u>Результат</u>
0.50 1.375
1.00 6.000
1.50 13.625
2.00 25.000
2.50 40.875
3.00 62.000
3.50 89.125
4.00 123.000