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

На вход программы поступает последовательность из n натуральных чисел. нужно выбрать из них произвольное количество чисел так, чтобы их сумма была максимальной и не делилась на 4. в результате программа должна вывести количество выбранных чисел и их сумму. если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0. входные данные: на вход программе подаётся натуральное число n (n  1000), а затем n натуральных чисел, каждое из которых не превышает 10000. пример входных данных: 3 1 2 1 выходные данные: программа должна вывести два числа: сначала количество выбранных чисел, а затем их сумму. пример выходных данных для примера входных данных: 2 3 паскаль

Показать ответ
Ответ:
yaragorbunovaoz3vfc
yaragorbunovaoz3vfc
06.10.2020 08:38
Var
  a, n, i, sum, c, min: integer;
 
begin
  sum := 0;
  c := 0;
  min := 10001;
  read(n);
  for i := 1 to n do begin
    read(a);
    sum := sum + a;
    c := c + 1;
    if(a < min) and (a mod 4 <> 0) then min := a;
  end;
  if(sum mod 4 = 0) and (min <> 10001) then begin sum := sum - min; c := c - 1; end;
  if(sum mod 4 = 0) then begin write(0); exit; end;
  writeln(c, ' ', sum);
 end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота