В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
nshambulina
nshambulina
13.02.2022 04:59 •  Информатика

Определите значение сигнала на выходе логической схемы,
Мой ответ

Показать ответ
Ответ:
ruslana80205
ruslana80205
26.10.2020 03:50
Function IsPrime(n:integer):Boolean;
{ Проверка, является ли число простым }
var
  p:integer;
  found:Boolean;
begin
  found:= (n mod 2 = 0);
  p:=3;
  while (not found) and (sqr(p)<=n) do
    begin
    found:=(n mod p = 0);
    p:=p+2
    end;
  IsPrime:=(not found) or (p = 2)
end;

const
  m1 = 20;
  n1 = 20;

var
  a: array[1..m1, 1..n1] of integer;
  s,k:array[1..n1] of integer;
  i, j, m, n, sum, kol: integer;

begin
  Write('Введите через пробел число строк и столбцов массива: ');
  Readln(m, n);
  Randomize;
  Writeln(#13#10, 'Исходный массив');
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      a[i,j]:= Random(99)+1;
      Write(a[i,j]:3)
    end;
    Writeln
  end;
  for j:=1 to n do
  begin
    sum:=0; kol:=0;
    for i:=1 to m do
      if IsPrime(a[i,j]) then
      begin sum:=sum+a[i,j]; kol:=kol+1 end;
    s[j]:=sum; k[j]:=kol
  end;
  Writeln('*** Сумма простых элементов по столбцам ***');
  for j:=1 to n do Write(s[j]:4);
  Writeln;
  Writeln('*** Количество простых элементов по столбцам ***');
  for j:=1 to n do Write(k[j]:4);
  Writeln
end.

Тестовое решение:

Введите через пробел число строк и столбцов массива: 12 15

Исходный массив
 36 74 72 75 25 58 26 45 25 51 35 83 34  8 99
 53 55  3 51 31  7 65 91 99 95 40 91 86 80 39
 61  5 92 50 28 40  7 93 46 46 20  2 61 45 91
 85 10 47 49 54 29 15 10 49 13 70 83 73 79 85
 67 40 65 85 90 31 90 83 80 59 46 61 57  5 12
  6  4 46  9 10 30 44 37 27 11 46 94 44 38 57
 57 34 14 61 79 80 37 75 55 60 94 27 67 90  8
 67 58  5 37  7 67 37 64 69 55 24  3 38 75 44
 36 47 46 23  2 12 47 96 26 31 69 28 91 49 16
  4 76 47 19 43 88 89  7 31 90 21 69 45  6 55
 78 98  1 11 24 48 80 44 88 96 21 61 79  7 38
 39 46 16 54 52 47 55 20 33 56 46 40 16 33 81
*** Сумма простых элементов по столбцам ***
 248  52 103 151 160 181 217 127  31 114   0 291 280  91   0
*** Количество простых элементов по столбцам ***
   4   2   5   5   4   5   5   3   1   4   0   5   4   3   0
0,0(0 оценок)
Ответ:
naked159
naked159
20.02.2022 20:08
Var n, amount, max_digit, copy_of_n: integer;
begin
     read(n);
     copy_of_n := n;
     amount := 0;
     max_digit := copy_of_n mod 10;
     while copy_of_n <> 0 do
     begin                                   {Находим наибольшую цифру в числе}
          if max_digit < copy_of_n mod 10
          then
              max_digit := copy_of_n mod 10;
          copy_of_n := copy_of_n div 10;
     end;
     copy_of_n := n;
     while copy_of_n <> 0 do        {Считаем количество таких цифр}
     begin
          if copy_of_n mod 10 = max_digit
          then
              amount := amount + 1;
          copy_of_n := copy_of_n div 10;
     end;
     writeln(amount);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота