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

Ввести трехзначное число. Если сумма цифр числа четная, то увеличить число на 5, в противном случае уменьшить на 5. Если ввели не трехзначное число, должна появиться надпись об этом, и вычисления не производятся.

Показать ответ
Ответ:
kkek7405
kkek7405
13.11.2022 12:12
Вот жутко неэффективное решение, для нормального надо писать решето эратосфена, можно нагуглить, если нужна эффективность

function isPrime (a : integer) : boolean;
var
  i, lim : integer;
begin
  if n < 4 then begin
  if n = 1 then isPrime := false else isPrime := true; 
exit;
 end;
  lim := trunc (sqrt (a));
  for i := 2 to lim do
    if a mod i = 0 then
    begin
      isPrime := false;
      exit;
    end;
isPrime := true;
end;

var
  a : array of array of integer;
  b : array of integer;
  i, j, n : integer;

begin
  read (n);
  setlength (a, n, n);
  setlength (b, n);
  for i := 0 to n - 1 do
    for j := 0 to n - 1 do
      read (a[i, j]);
  for i := 0 to n - 1 do
  begin
   b[i] := 0;
    for j := 0 to n - 1 do
      if isPrime(a[i, j]) then inc (b[i]);
  end;
  for i := 0 to n - 1 do
begin
  if b[i] <= 2 then
    for j := 0 to n - 1 do
      write (a[i, j], ' ')
  else 
     for j := 0 to n - 1 do write ('0 ');
  writeln;
end;
end.
0,0(0 оценок)
Ответ:
tatyana171283t
tatyana171283t
06.09.2020 22:00
Program menu;
uses  crt;
var  m, i: integer; 
n, z, x, b: longint;
begin 
Writeln('Выберете пункт меню:'); 
Writeln('[1]Вычисление суммы цыфр числа N'); 
Writeln('[2]Вывод на экран таблицы квадратов первого десятка'); 
Writeln('[3]Дано число N. Определить его четность'); 
Writeln('[4]Выход'); 
read(m); 
   case m of    1:          
   begin       
   clrscr;       
   writeln('Введите число N:');       
   read(n);        
   x := 10;        
   z := n mod x;        
   while n div x > 0 do        
   begin         
   b := x;          
   x := x * 10;          
   z := z + n mod x div b;        
  end;        
  Writeln('ответ: ', z);        
  end;    
 2:            begin       
   clrscr;       
   for i := 1 to 10 do       
   begin         
   writeln('Квадрат ', i, ' = ', sqr(i));       
   end;     
   end;       
3:      begin       
    clrscr;       
    writeln('Введите число N:');       
    read(n);       
    if (n mod 2 ) = 0 then writeln('Число ', n, ' четное.') else writeln('Число ', n, ' не четное.');     
    end;       
4: exit;  end;  
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота