Напишите программку для вычисления заключительной ненулевой цифры факториала данного числа N(0

Напишите программку для вычисления последней ненулевой числа факториала данного числа N(0 N 10). Циклы использовать воспрещено.

Задать свой вопрос
Вадим Мотявин
Плагиат!:D
1 ответ
Все приведённые ниже коды написаны и отлажены в среде PascalABC.NET 3.2. сборка 1439(10.05.2017).


Поначалу программка, показывающая период=))

Var
   N:uint64;
   B:BigInteger:=1;
Begin
Write('N = ');ReadLn(N);
For var i:= 1 to N do
    Begin
    if (i mod 10 lt;gt; 5)and(i mod 10 lt;gt; 0) then B:=B*i
       else if i mod 10 = 5 then B:=B div 2;
    Write(B mod 10);
    if i mod 40 = 0 then WriteLn;
    End;
End.



N = 1000
1264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
6264224288868266264448468868222428448466
...
Ну и так дальше.


Разыскиваемая программка:

Const
   T = '6626422428886826626444846886822242844846';
Var
   S:BigInteger;
Begin
S:=ReadString.ToBigInteger;
if S gt; 1 then WriteLn(T[(S mod 40).ToString.ToInteger+1])
else WriteLn(1)
End.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт