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

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

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

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

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

textual
Листинг программы
function summa(n:integer):integer;
var m,s:integer;
begin
m:=n;
s:=0;
while m>0 do
 begin
  s:=s+m mod 10;
  m:=m div 10;
 end;
summa:=s;
end;
var m,i,k,n:integer;
    a:array[1..1000] of integer;
begin
repeat
write('Максимальное число от 1 до 1000 n=');
readln(n);
until (n>0)and(n<=1000);
repeat
write('Сумма цифр от 1 до 27 k=');
readln(k);
until k in [1..27];
m:=0;
i:=1;
while i<n do
 begin
  if summa(i)=k then
   begin
    inc(m);
    a[m]:=i;
   end;
  inc(i);
 end;
writeln('Массив А');
for i:=1 to m do
write(a[i],' ');
end.

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

  1. Создается функция summa, которая принимает два аргумента: n (целое число) и k (целое число). Функция использует две переменные m и s для хранения промежуточных результатов. В цикле while m > 0 происходит следующее: s увеличивается на остаток от деления m на 10, а m делится на 10. После завершения цикла значение s присваивается переменной summa.
  2. Создается переменная m и инициализируется значением 0. Также создается переменная i и инициализируется значением 1. Цикл while i < n выполняется, пока i меньше n.
  3. Внутри цикла while проверяется, равна ли сумма цифр числа i значению k. Если да, то значение i увеличивается на 1, и число i добавляется в массив a.
  4. После завершения цикла while выводится сообщение Массив А. Затем выводится каждое число из массива a, разделенные пробелами.
  5. Код завершается без использования вложенных списков.

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


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

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

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