Убрать интервал в ответе (программу PascalABC перенести в FreePascal) - Free Pascal
Формулировка задачи:
Помогите,что нужно сделать,чтобы убрать интервал который выдается в ответе. Данная программа работает в паскале abc, но нужно,чтобы она работала во free pascal.
var p,q,i,s,j,k: integer;
a:array[1..100] of integer;
begin
s:=1;
Readln(p,q);
writeln('p=',p,' q=',q);
for i:=2 to round(sqr(q))+1 do begin
if q mod i=0 then begin
inc(k); a[k]:=i;
for j:=2 to round(sqr(i))+1 do begin
if (p mod j=0) and (i mod j=0) then s:=0;
end;
if s=1 then writeln('Делитель числа ',q,': ',i,' -взаимно простое число с числом ',p);
s:=1;
end;
end;
writeln('Все делители числа q=',q);
for i:=1 to k do write(' ',a);
end.Решение задачи: «Убрать интервал в ответе (программу PascalABC перенести в FreePascal)»
textual
Листинг программы
for i:=1 to k do write(' ',a[i]);
Объяснение кода листинга программы
В данном коде происходит запись в файл строки, состоящей из пробелов и значений массива a, которые разделены пробелами. Список действий:
- Указать начальное значение переменной i равное 1.
- Указать конечное значение переменной i равное k.
- Начать цикл от 1 до k.
- В каждой итерации цикла записать в файл пробел.
- Завершить цикл.
- Закрыть файл.
Пример кода на языке Free Pascal:
var i, k: Integer; a: array of String; f: File; begin AssignFile(f, 'output.txt'); Rewrite(f, 1); for i := 1 to k do begin Write(f, ' ', a[i]); end; CloseFile(f); end;Примечание: В данном коде массив a предполагается уже заполненным к моменту начала выполнения программы.