Помощь - Поиск - Пользователи - Календарь
Полная версия: Как работать с очень большими числами?
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
zloy_pes
Где можно хранить число, например 60^20? Можно ли вообще в паскале работать с такими числами?
zloy_pes
volvo, я скачал модуль, поставил, а он мне столько ошибок там нашёл... Может я чего неправильно делаю? У меня стоит tp6.0.
volvo
Какой именно? Мой или Virt-а? Мой прекрасно работает на TP7, в шестом проверить не могу, т.к. нету его у меня.

P.S. Форум FAQ на премодерации, так что обсуждаем тему здесь ...
volvo
Ага... Ясно. Установил TP6, в этом компиляторе еще нельзя передавать константные параметры. То есть вот тут:
Procedure A(Const X: Integer);
Будет ошибка. Просто убери все Const из заголовков процедур, там где компилятор тебе покажет. И, кстати, перед компиляцией удали TPU файл, он в формате 7-го Турбо Паскаля, и несовместим с TP6...
zloy_pes
Действительно, так работает, спасибо! Вот ещё такой вопрос- нужно выписать натуральные делители числа 20. Я пишу :
Код
program p1;
var i:integer;
begin
writeln('-----');
FOR i:=1 TO 20 DO
   IF (20 mod i) = 0 THEN
   begin
      writeln(i);
      i:=i+1;
   end
   ELSE
     i:=i+1;

readln;
end.

Вместо того чтобы написать 1,2,4,5,10,20 программа пишет только 1 и 5 в чём может быть проблема?
PS не ругайте - я ооооооочень новенький в паскале :smile:
volvo
Во-первых, разложение на множители по-моему есть в FAQ, а потом, что ты делаешь?
program p1;
var i: integer;
begin
writeln('-----');
FOR i:=1 TO 20 DO
IF (20 mod i) = 0 THEN writeln(i);
readln;
end.
Это все, что ты должен сделать... Увеличение I это проблема оператора For... Ты этого делать не должен. Более того, это делать нельзя, т.к. некоторые компиляторы выдают ошибку.

P.S. Если остальные вопросы не связаны с длинными числами, задавай их в отдельных темах...
zloy_pes
OK, спасибо, буду знать!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.