ПШ
Полиграф Шариков

Величина переменных.Паскаль.Описание дальше.

В паскале переменная integer имеет максимальное значение 32767.Longint макс-2147483647.В одной задачи на олимпиаде мне попалось такое задание:Нужна вывести символ на n месте,в определённой последовательности символов.Значение n не должно превышать 2 в двадцать шестой степени.Так вот,как мне реализовать,например,это программу,если я хочу ввести значение n=85671239984,если длина всей строки символов превышает 67 лямов.(Сама программа у меня есть,мне нужен именно этот момент)Конечно же,паскаль начинает ругаться,пытался составить через строки,тоже ругается,понятное дело,так как макс длина строки,это 255 символов.Подскажите,может,я где-то не так подумал....

Юр
Юрий

Обычно это значение вычисляется путем хитрых вычислений. Как раз это и есть суть олимпиадных задач.
К примеру есть строка, которая строится путем прибавления самой к себе и добавлением очередного символа из алфавита. Итого получается aabaabcaabaabcd и так далее. В общем, по моему в районе 80м символов. Нужно по координате сказать символ.
Алгоритм решения - ищем в разных направлениях границы непрерывных последовательностей букв и собственно потом на основе этого вычисляем нужный символ.

АК
Алексей Коленков

Во-первых, в Паскале диапазоны значений целого и вещественного типов не определены, они зависят только от реализации. 2^26 – это всего-то 67108864, у меня PascalABC.NET шутя справляется с массивами такого размера. Кстати, длина строки действительно ограничена 255 символами, но не длина символьного массива, а если ты не используешь специфические для строк операции, тебе годится и символьный массив.
Turbo Pascal – 16-и битный, там размер массива, насколько помню, ограничен 65536 байтами. В скобках замечу, что и в Turbo Pascal можно выкрутиться через динамические массивы, хотя проще просто использовать файлы. Но первое, что надо спросить – это какой именно компилятор Паскаля используется в олимпиаде, и уже от этого отплясывать. Хотя вообще странно было бы использовать в олимпиаде компиляторы двадцатилетней давности разработки - в вычислительной технике это почти вечность - но всё бывает 😉

Похожие вопросы
подскажите что делать дальше
Помoгите! ! Вычислить значение величины
Язык Паскаль. Постоянные и переменные величины. Аргументы и результаты. типы величин
Записать формулу для определения наибольшего по абсолютной величине корня этого уравнения.
подскажите что делать дальше?
Заданы величины X,Y действительного типа. Написать программу для обмена значений величин. Использовать вспомогательные
Какая ВЕЛИЧИНА -- ЧЕЛОВЕК???))
Паскаль-ОБРАБОТКА СТРОКОВЫХ ВЕЛИЧИН
программирование? а что дальше?
Почему не прогружается дальше.