Формирование массива, элементами которого являются числа, сумма цифр которых равна K и которые не больше N - PascalABC.NET

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

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

Даны натуральные числа К и N. Составить программу формирования массива A, элементами которого являются числа, сумма цифр которых равна K и которые не больше N. Сделать программу надо с процедурой или с функцией. И составить блок схему . Помогите пожалуйста

Решение задачи: «Формирование массива, элементами которого являются числа, сумма цифр которых равна K и которые не больше N»

textual
Листинг программы
  1. uses crt;
  2.  
  3. procedure pr;
  4. var s,k,su,n,i:integer;
  5.     a:array[1..100] of integer;
  6. label x,y1,y2;
  7. begin
  8.  s:=0;su:=0;i:=1;
  9.  write('Vvedite chislo - ');y1:read(k);
  10.  if k<0 then
  11.  begin
  12.   write('Vvedite polojitelnoe chislo - ');
  13.   goto y1;
  14.  end;
  15.  write('Vvedite N - ');y2:read(n);
  16.  if n<0 then
  17.  begin
  18.   write('Vvedite polojitelnoe N - ');
  19.   goto y2;
  20.  end;
  21.  repeat
  22. x:s:=random(n)+1;
  23.   su:=su+s;
  24.  
  25.   if su>k then
  26.   begin
  27.    su:=su-s;
  28.    goto x;
  29.   end
  30.   else
  31.   begin
  32.    a[i]:=s;
  33.    write(a[i]:3);
  34.    inc(i);
  35.   end;
  36.  until su=k;
  37.  writeln;
  38. end;
  39.  
  40. begin
  41. randomize;
  42.  pr;
  43. end.

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

  1. Установка начального значения переменных s, k, su, n, i.
  2. Ввод пользователем числа k и проверка на корректность ввода.
  3. Ввод пользователем числа n и проверка на корректность ввода.
  4. Повторение цикла до тех пор, пока сумма цифр элемента массива не станет равной k.
  5. Генерация случайного числа в диапазоне от 1 до n.
  6. Добавление этого числа к сумме цифр.
  7. Если сумма цифр превышает k, то это число вычитается из суммы и цикл повторяется.
  8. Если сумма цифр равна k, то число добавляется в массив и выводится на экран.
  9. Цикл повторяется до тех пор, пока сумма цифр не станет равной k.
  10. После завершения цикла выводится на экран.

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


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

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

14   голосов , оценка 4.357 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы