Const n=10; var i,j,k,mx,ind: integer; a: array[1..n] of integer; begin writeln('исходный массив:'); randomize; mx:=0; for i:=1 to n do begin a[i]:=random(2*n)-n; write(a[i],' '); if a[i]>mx then begin mx:=a[i]; ind:=i; end; end; writeln; for i:=ind+1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin k:=a[i]; a[i]:=a[j]; a[j]:=k; end; writeln('новый массив:'); for i:=1 to n do write(a[i],' '); end.
Var a:array[0..9] of integer; { число повторений } i,n,d,p:integer;
begin Write('n = '); Read(n); for i:=0 to 9 do a[i]:=0; { обнулить счетчики } p:=1; for i:=2 to n do p:=p*i; Writeln(n,'! = ',p); while p>0 do begin d:=p mod 10; a[d]:=a[d]+1; p:=p div 10 end; Writeln('Количество повторений цифр в числе:'); for i:=0 to 9 do if a[i]>0 then Write(i,'-',a[i],' '); Writeln end.
Пример n = 9 9! = 362880 Количество повторений цифр в числе: 0-1 2-1 3-1 6-1 8-2
второй вариант
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('n='); var p:=2.to(n).Aggregate(1,(a,b)->a*b); // факториал Writeln(n,'! = ',p); Writeln('Количество повторений цифр в числе:'); foreach var i in p.ToString.GroupBy(t->t).Select(t->(t.Key,t.Count)).OrderBy(t->t[0]) do Write(i[0],'-',i[1],' '); Writeln end.
var i,j,k,mx,ind: integer;
a: array[1..n] of integer;
begin
writeln('исходный массив:');
randomize;
mx:=0;
for i:=1 to n do
begin
a[i]:=random(2*n)-n;
write(a[i],' ');
if a[i]>mx then
begin
mx:=a[i];
ind:=i;
end;
end;
writeln;
for i:=ind+1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
k:=a[i];
a[i]:=a[j];
a[j]:=k;
end;
writeln('новый массив:');
for i:=1 to n do write(a[i],' ');
end.
исходный массив:
3 7 7 5 5 -2 -8 -9 -8 6
новый массив:
3 7 -9 -8 -8 -2 5 5 6 7
a:array[0..9] of integer; { число повторений }
i,n,d,p:integer;
begin
Write('n = '); Read(n);
for i:=0 to 9 do a[i]:=0; { обнулить счетчики }
p:=1;
for i:=2 to n do p:=p*i;
Writeln(n,'! = ',p);
while p>0 do begin
d:=p mod 10;
a[d]:=a[d]+1;
p:=p div 10
end;
Writeln('Количество повторений цифр в числе:');
for i:=0 to 9 do
if a[i]>0 then Write(i,'-',a[i],' ');
Writeln
end.
Пример
n = 9
9! = 362880
Количество повторений цифр в числе:
0-1 2-1 3-1 6-1 8-2
второй вариант
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var p:=2.to(n).Aggregate(1,(a,b)->a*b); // факториал
Writeln(n,'! = ',p);
Writeln('Количество повторений цифр в числе:');
foreach var i in
p.ToString.GroupBy(t->t).Select(t->(t.Key,t.Count)).OrderBy(t->t[0]) do
Write(i[0],'-',i[1],' ');
Writeln
end.