Неверов Евгений Викторович
Меню сайта
Категории раздела
Программирование на языке Паскаль [27]
В данной категории представлены новые функции, созданные на языке Паскаль, которые могут пригодиться при написании своих программ
Программирование на Delphi [18]
В данной категории представлены полезные подпрограммы, которые могут пригодиться при написании своих программ, а также рассматриваются примеры готовых проектов, создаваемых в среде программирования Delphi
Программирование на HTML [0]
В данной категории рассматриваются примеры готовых проектов, создаваемых на языке HTML
Прочее [0]
Свободная тематика
Мини-чат
200
Наш опрос
Чем Вы занимаетесь?
Всего ответов: 36
Статистика

Рейтинг@Mail.ru
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Программирование на языке Паскаль [ Добавить статью ]

Факториал числа
function Faktorial(chislo: integer): string;
const max_dlina=3000;
var i: integer;
    p: array[0..3000] of byte;

   procedure Umnozhit(chislo: integer);
   var i, k, um: integer;
       p1: array[0..max_dlina-1] of integer;
   begin
      k:=0;
      For i:=0 to max_dlina-1 do
         p1[i]:=0;
      Repeat
         k:=k+1;
         um:=0;
         For i:=max_dlina-1 downto 1 do
            If (i>k) then
            begin
               p1[i-k+1]:=p1[i-k+1]+um+p[i]*(chislo mod 10);
               um:=p1[i-k+1] div 10;
               p1[i-k+1]:=p1[i-k+1] mod 10;
            end;
         chislo:=chislo div 10;
      Until chislo=0;
      For i:=0 to max_dlina-1 do
         p[i]:=p1[i];
   end;

begin
   For i:=0 to max_dlina-2 do
      p[i]:=0;
   p[max_dlina-1]:=1;
   For i:=1 to chislo do
      Umnozhit(i);
   Result:='';
   For i:=0 to max_dlina-1 do
      Result:=Result+IntToStr(p[i]);
   While (Result<>'') and (Result[1]='0') do
      Delete(Result, 1, 1);
end;

где

chislo - исходное число.

Например, Faktorial(10) выведет '3628800'.

Категория: Программирование на языке Паскаль | Добавил: newerow1989 (12.03.2016 11:34 )
Просмотров: 94 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Все смайлы
Код *:
Поиск
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Copyright MyCorp © 2018
    Автор этого сайта: Неверов Евгений Викторович

    Мои координаты
    Бесплатный конструктор сайтов - uCozЯндекс.Метрика