Найти последнюю ненулевую цифру факториала n - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите решить задачу: Нужно найти последнюю ненулевую цифру числа n! . 1<n<1000000. Помгите пожалуйста

Решение задачи: «Найти последнюю ненулевую цифру факториала n»

textual
Листинг программы
var
  n : qword;
  i : integer;
begin
  n := 1;
  for i := 1 to 250 do
  begin
    n := n * i;
    while n mod 10 = 0 do n := n div 10;
    n := n mod 1000;
  end;
  writeln(n mod 10);
end.

Объяснение кода листинга программы

  1. Объявляются две переменные: n типа qword (16-битный целый со знаком) и i типа integer (целое без знака).
  2. Переменная n инициализируется единицей.
  3. Запускается цикл for, который выполняется от i = 1 до 250.
  4. Внутри цикла переменная n умножается на текущее значение i.
  5. С помощью цикла while проверяется, является ли n кратным десяти. Если это так, то с помощью операции div (деление) из n удаляется последняя цифра.
  6. С помощью операции mod (остаток от деления) из n получается последняя цифра.
  7. С помощью операции mod (остаток от деления) из n получается последняя цифра в диапазоне от 0 до 999.
  8. В конце программы выводится значение переменной n mod 10 (последняя цифра).

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы