Как убрать лишний пробел в конце вывода ответа - Free Pascal

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

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

У меня есть прога:
Листинг программы
  1. var
  2. f, k, j, n, d, t, p, z, sum: longint;
  3. sov, del: array[1..100] of integer;
  4. begin
  5. write('');
  6. readln(n);
  7. for k := 1 to n-1 do
  8. begin
  9. for j := 1 to 100 do
  10. del[j] := 0;
  11. d := 0;
  12. f := k;
  13. for z := 1 to f-1 do
  14. begin
  15. if f mod z = 0 then
  16. begin
  17. d := d + 1;
  18. del[d] := z;
  19. end;
  20. end;
  21. sum := 0;
  22. for t := 1 to d do
  23. sum := sum + del[t];
  24. if sum = k then
  25. begin
  26. p := p + 1;
  27. sov[p] := k;
  28. end;
  29. end;
  30. for k := 1 to p do
  31. write(sov[k],' ');
  32. end.
КАК сделать, чтоб при выводе ответа ответ был через пробел, но без последнего пробела, тоесть введя число 30 программа выдаст ответ:6_28_. Как убрать последний пробел. (_- пробелы)

Решение задачи: «Как убрать лишний пробел в конце вывода ответа»

textual
Листинг программы
  1. var n,i,j,k,s:integer;
  2. begin
  3. read(n);
  4. s:=0;
  5. for i:=2 to n do
  6.  begin
  7.   k:=1;
  8.   j:=2;
  9.   while j*j<i do
  10.    begin
  11.     if i mod j=0 then k:=k+j+i div j;
  12.     j:=j+1;
  13.    end;
  14.   if k=i then
  15.    begin
  16.     write(i,' ');
  17.     s:=1;
  18.    end;
  19.  end;
  20. if s=0 then write(0)
  21. end.

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

  1. Объявлены пять переменных: n, i, j, k, s типа integer.
  2. Переменная n инициализируется значением, полученным от пользователя при чтении.
  3. Переменная s инициализируется нулем.
  4. Запускается цикл for, который выполняется от i=2 до n.
  5. Внутри цикла определены четыре переменные: k, j, которые инициализируются значениями 1 и 2 соответственно.
  6. Запускается внутренний цикл while, который выполняется до тех пор, пока j*j меньше i.
  7. Внутри внутреннего цикла while проверяется, делится ли i на j без остатка. Если да, то к k прибавляется j и i деленное на j.
  8. Значение j увеличивается на 1.
  9. Цикл while выполняется до тех пор, пока j*j меньше i.
  10. Если условие в внутреннем цикле while выполняется, то значение k увеличивается на i, деленное на j, и на j.
  11. Цикл for завершается.
  12. Если переменная s равна нулю, то выводится значение 0.
  13. Если в цикле for было найдено простое число, то выводится само простое число.
  14. Если в цикле for не было найдено простое число, то выводится сообщение об этом.

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


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

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

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

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

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

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