Привет ,аноны.Я ньюфаг и только учусь,пока решаю подобные задачи.Но есть одна проблема,времени у меня оочень мало,поэтому прошу помочь мне / решить эти задачи.Желательно на Cpp и Рascal,т.к. учу их.Большое спасибо!1ая задача:Угадай числоОграничение времени 2 секундыОграничение памяти 512MbВвод стандартный ввод или input.txtВывод стандартный вывод или output.txtЭто интерактивная задача.Некто загадал целое число x (1 ≤ x ≤ n). Ваша программа должна угадать это число во взаимодействии с тестирующей системой. Всего можно делать два различных типа действий:? y (1 ≤ y ≤ n) — попросить сравнить загаданное число с числом y. В ответе будет или строка “>=”, обозначающая, что x ≥ y, или строка “<”, обозначающая, что x < y.! y (1 ≤ y ≤ n) — сообщить y в качестве ответа. После чего ваша программа должна завершиться.Протокол взаимодействияСначала на вход Вашей программе подаётся целое число n (1 ≤ n ≤ 109). После этого тестирующая система готова отвечать на запросы Вашей программы.Выводите запросы по одному на строку в соответствии с условиями. После каждого запроса формата “? y” считываете строку с ответом на него. Всего количество запросов такого типа не может превышать двоичный логарифм числа n, округлённый вверх. Если количество запросов будет превышено, результатом проверки будет ошибка “Wrong answer”.Не забывайте после каждого запроса: 1) выводить перевод строки; 2) очищать буфер вывода. Например, в C/C++ это можно сделать с помощью функций fflush(stdout) или cout.flush(), в Pascal - с помощью flush(output).Interaction Example16 ? 9< ? 5>= ? 7< ? 6>= ! 6 (Автор этого поста был предупрежден.)
2ая задача :ПерестановкиОграничение времени 1 секундаОграничение памяти 64MbВвод стандартный ввод или input.txtВывод стандартный вывод или output.txtСгенерируйте все перестановки чисел 1,…,n и выведите их в таком порядке, что любые две соседние перестановки отличаются только порядком двух соседних элементов (к примеру, за 1, 2, 3, 4 может следовать 1, 2, 4, 3, но не 1, 4, 3, 2).Формат вводаВходной файл содержит одно целое число 1 ≤ n ≤ 8.Формат выводаВыведите строк, каждая из которых содержит очередную перестановку — n целых чисел, разделённых пробелом.ПримерВвод 3Вывод1 2 31 3 23 1 23 2 12 3 12 1 3Есть код,но не могу найти,как пофиксить ошибкуvar a: array[1..1000] of integer; n, j: integer; kol: longint; t: text;procedure gen(l, r: integer; var k: longint);var i, j, v: integer; begin if l=r then begin for j := 1 to n do write(t,a[j], ' '); writeln(t); end else for i := l to r do begin gen(l + 1, r, k); if i<r then begin v := a[l];a[l] := a[l+1];a[l+1] := v; end; end;end;begin assign(t, 'input.txt'); reset(t); readln(t, n); close(t); assign(t, 'output.txt'); rewrite(t); for j := 1 to N do A[j] := j; gen(1, n, kol); close(t);end.
Бамп.
Бамп
Реально нужна помощь до 24.00,это не от лени думать.