Предмет: Информатика, автор: Markova1Marina

ПАСКАЛЬ АВС
1)Введите массив из 5 элементов с клавиатуры и найдите количество элементов , запись которых в 2с.с-палиндром(например,10101 в двоичной=21)
2)Заполните массив случайными числами в интервале (100,999) и представьте их по возрастанию кол-ва делителей
3)Заполните массив случайными числами в интервале (0,1000) и выведите номера трёх различных минимальных элементов.Разрешается сделать только один проход по массиву

Ответы

Автор ответа: Segrif
0
{1}

const
 n = 5;
var
 a: array [1..n] of integer;
 i,k,x,l: integer;
 t: boolean;
begin
 for i := 1 to n do read(a[i]);
 k := 0;
 for i := 1 to n do
  begin
  t := true;
  x := a[i]; if x < 0 then x := -x;
  l := 1;
  while l <= x do l := l*2; l := l div 2;
  while t and (l > 1) do
    begin
    t := x >= l;
    if t then x := x - l;
    t := t = (x mod 2 <> 0);
    x := x div 2;
    l := l div 4;
    end;
  if t then k := k + 1
  end;
 write(k)
end.



{2}

const
 n = 10;
var
 a,d: array [1..n] of integer;
 i,j,k: integer;
begin
 for i := 1 to n do
  a[i] := 100 + random(900);
 for i := 1 to n do
  begin
  d[i] := 0;
  for j := 1 to a[i] do
    if a[i] mod j = 0 then
    d[i] := d[i] + 1;
  end;
 for i := 1 to n-1 do
  begin
  k := i;
  for j := i + 1 to n do
    if d[j] < d[k] then k := j;
  j := a[k];
  a[k] := a[i];
  a[i] := j;
  j := d[k];
  d[k] := d[i];
  d[i] := j;
  end;
 for i := 1 to n do
  write(a[i],' ')
end.



{3}

const
 n = 10;
 l = 3;
var
 a: array [1..n] of integer;
 m: array [1..l] of integer;
 i,j,k: integer;
begin
 for i := 1 to n do
  begin
  a[i] := random(1001);
  write(a[i],' ')
  end;
 writeln;
 for i := 1 to l do
  m[i] := -1;
 for i := 1 to n do
  begin
  j := 1;
  while j <= l do
    begin
    if (a[i] = m[j]) then j := l else
    if (a[i] < m[j]) or (m[j] = -1) then
      begin
      for k := l downto j+1 do
        m[k] := m[k-1];
      m[j] := a[i];
      j := l
      end;
    j := j + 1
    end;
  end;
 for i := 1 to l do
  if m[i] <> -1 then write(m[i],' ')
end.


Похожие вопросы
Предмет: Русский язык, автор: dashagunemyuk
Задание 2. Прочитайте текст , озагдавьте его. Выпиши числительные. Напиши их прописью.вот текст.

Созвездия различаются по числу и яркости звезд, входящих в его состав. Выделяют 30 самых заметных групп звезд. Наиболее протяжённым по площади созвездием считается Большая Медведица. В ее состав входит 7 ярких и 118 видимых невооруженным взглядом звезд.



Самое маленькое созвездие, расположенное в южном полушарии, называют Южный Крест и увидеть его невооруженным глазом невозможно. Оно состоит из 5 ярких и 25 менее заметных звезд.



Самым красивым и ярким считается созвездие Ориона. В его состав входит 120 звезд, видимых невооруженным взглядом и из них 7 очень ярких.



Все созвездия условно делят на расположенные в южном или северном полушарии. Тем, кто живет в южном полушарии Земли, не видны скопления звезд, расположенные в северном и наоборот. Из 88 созвездий, 48 находятся в южном полушарии, а 31 — в северном. Оставшиеся 9 групп звезд расположены в обеих полушария. Северное полушарие легко определить по Полярной звезде, которая всегда очень ярко светит на небосклоне. Она является крайней звездой на ручке ковша Малой Медведицы.​
Предмет: Математика, автор: ulya1711