Проверочная система выдаёт ошибку - Free Pascal
Формулировка задачи:
Прошу помощи! Проверочная система школьной олимпиады постоянно выдаёт ошибку, подозреваю, что проблема в чтении из файла. На локальном компьютере всё работает отлично...
var n, i, j, s, c: longint; n1: array[1..10001] of integer; file1, file2: text; begin assign(file1, 'input.txt'); assign(file2, 'output.txt'); reset(file1); read(file1, n); if n = 2 then begin rewrite(file2); write(file2, '2 1'); close(file1); close(file2); end else if n = 3 then begin rewrite(file2); write(file2, '2 1 3'); close(file1); close(file2); end else begin if n mod 2 = 0 then begin n1[1] := n; n1[n] := 1; n1[2] := 2; s := n; for i := 3 to n - 1 do begin s := s + n1[i - 1]; c := s div n1[i - 1]; n1[i] := c; end; end else begin dec(n); n1[1] := n; n1[n] := 1; n1[2] := 2; s := n; for i := 3 to n - 1 do begin s := s + n1[i - 1]; c := s div n1[i - 1]; n1[i] := c; end; n1[n + 1] := n + 1; inc(n); end; rewrite(file2); for i := 1 to n do begin write(file2, n1[i], ' '); end; close(file1); close(file2); end; end.
Решение задачи: «Проверочная система выдаёт ошибку»
textual
Листинг программы
read(n); ......... write('2 1 3' ); .......... for i := 1 to n do write(n1[i], ' ');
Объяснение кода листинга программы
- Вводится число n с помощью функции read(n)
- Выводится строка '2 1 3' с помощью функции write('2 1 3')
- Создается цикл for i := 1 to n, который выполняет следующие действия:
- Выводит значение n1[i] с помощью функции write(n1[i])
- Добавляет пробел в конце строки с помощью символа ' '
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д