Определить, сколько студентов было в каждой из команд - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, решить: Однажды в Ужгорода на летнюю школу с алгоритмического программирования прихалы N студентов, что сформировали К команд. Известно, что каждая команда состоит из одного, двух или трех студентов. Вам необходимо определить сколько студентов было в каждой из команд.
Это продолжение: Выведите К целых чисел A1,. . . ,Ак через пробел. Здесь Aj количество студентов в J - той команде. Если есть большое чем один ответ- введите любой. Если развязки не существует вывести- "Impossible" (без кавычек) выведите Ограничение 1=

Решение задачи: «Определить, сколько студентов было в каждой из команд»

textual
Листинг программы
var
  n,k,i:integer;
  a:array[0..100] of integer;
begin
  read(n,k);
    while n>0 do begin
     i:=0;
     while (i<k) and (n>0) do begin
      i:=i+1;
      inc(a[i]);
      n:=n-1;
     end;
    end;
    if (a[1]>3) or (a[k]=0) then write('Impossible') else
    for i:=1 to k do write(a[i],' ')
end.

Объяснение кода листинга программы

  1. В начале кода объявляются три переменные: n, k, i типа integer (целое число).
  2. Затем объявляется массив a типа array[0..100] of integer (массив a размером от 0 до 100, содержащий целые числа).
  3. Далее происходит чтение двух целых чисел n и k с помощью функции read(n,k).
  4. Затем следует цикл while, который выполняется до тех пор, пока n больше нуля.
  5. Внутри цикла while есть еще один цикл while, который выполняется, пока i меньше k и n больше нуля.
  6. Внутри второго цикла while происходит увеличение i на 1, увеличение значения a[i] на 1 и уменьшение n на 1.
  7. После завершения второго цикла while происходит проверка: если a[1] больше 3 или a[k] равно 0, то выводится сообщение Impossible.
  8. Если условие в проверке не выполняется, то выводится сообщение, содержащее значения a[i], разделенные пробелами.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы