uses crt;
var n,m,i,p:longint;
s,k:byte;
begin
clrscr;
repeat
write('Введите натуральное число N=');
readln(n);
until n>0;
m:=n;
s:=0;
while m>0 do
begin
s:=s+m mod 10;
m:=m div 10;
end;
writeln('Числа от 1 до ',n-1,', у которых произведение цифр=',s);
k:=0;
for i:=1 to n-1 do
begin
m:=i;
p:=1;
while m>0 do
begin
p:=p*(m mod 10);
m:=m div 10;
end;
if p=s then
begin
k:=1;
write(i,' ');
end;
end;
if k=0 then write('Таких чисел нет');
readln
end.
Объяснение:
program raf105;
const
n = 10;
var
d:array[1..n] of integer;
min,max,sum,notmax,i: integer;
begin
max:= -10000;
min:= 10000;
writeln('Заполните массив');
for i:=1 to n do
begin
readln(d[i]);
sum+= d[i];
if max<d[i]
then max:= d[i];
end;
for i:=1 to n do
begin
if d[i]<>max
then notmax+= 1;
if (d[i]>sum) and (d[i]<min)
then min:= d[i];
end;
if min<>10000
then writeln('Минимальный среди элементов, больших суммы: ',min)
else writeln('Минимальный среди элементов, больших суммы: Не найдено');
writeln('Количество элементов, не равных максимальному: ',notmax);
end.
Язык PascalABC
Объяснение:
Алгоритмдік тілде (Паскаль, Бейсик, Си, т. б.) арифметикалық амалдардың орындалу тәртібі олардың математикадағы орындалу тәртібіне сәйкес келеді, яғни алдымен жақша ішіндегі амалдар, сонан соң көбейту, бөлу, қосу, азайту, т. б. амалдар орындалады.
Өрнектердің алгоритмдік тілде және программалау тіліндегі жазылуы да бір - біріне сәйкес келеді.
Паскаль тілінде өрнектер тек сызықты түрде жазылады.