Неверов Евгений Викторович
QR-код
Меню сайта
Категории раздела
Программирование на языке Паскаль [27]
В данной категории представлены новые функции, созданные на языке Паскаль, которые могут пригодиться при написании своих программ
Программирование на Delphi [18]
В данной категории представлены полезные подпрограммы, которые могут пригодиться при написании своих программ, а также рассматриваются примеры готовых проектов, создаваемых в среде программирования Delphi
Программирование на HTML [1]
В данной категории рассматриваются примеры готовых проектов, создаваемых на языке HTML
Мои программы [1]
Описание разработанных автором программ.
Online-программы [2]
Прочее [42]
Свободная тематика
Мини-чат
200
Наш опрос
Как Вы думаете, сколько времени люди проживут на Земле?
Всего ответов: 62
Статистика

Онлайн всего: 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)
Просмотров: 751 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Друзья сайта
Заработок в Интернете
Для начала необходим Электронный PAYEER® кошелек!
Copyright MyCorp © 2024
Версия для мобильных устройств. Яндекс.Метрика Анализ сайта Проверить мой сайт на ScamAdviser.com