Для заданного числа N определите, сколько нулей в конце десятичной записи - Turbo Pascal

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

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

Помогите СРОЧНО с решением задачи. Вот ее условие: N-Factorial - это произведение всех чисел от 1 до N. Для заданного числа N определите, сколько нулей в конце десятичной записи N-Factorial. Пример: A.in A.out Комментарий 4 0 1*2*3*4=24 6 1 1*2*3*4*5*6=720 10 2 1*2*3*4*5*6*7*8*9*10=3628800
Спасибо за помощь, я уже решил сам

Решение задачи: «Для заданного числа N определите, сколько нулей в конце десятичной записи»

textual
Листинг программы
var n,k2,k5,i,a:integer;
begin
write('n=');
read(n);
k2:=0;
k5:=0;
for i:=2 to n do
 begin
  a:=i;
  if a mod 2=0 then
  while a>=2 do
   begin
    a:=a div 2;
    k2:=k2+1;
   end;
  a:=i;
  if a mod 5=0 then
  while a>=5 do
   begin
    a:=a div 5;
    k5:=k5+1;
   end;
 end;
if k2<k5 then write(k2)
else write(k5);
readln
end.

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

  1. Создается переменная n, в которую считывается заданное число N.
  2. Создаются две переменные k2 и k5, которые будут использоваться для подсчета количества двоек и пятерок в конце десятичной записи числа N соответственно.
  3. Запускается цикл for, который будет выполняться от 2 до N включительно.
  4. Внутри цикла создается переменная a, которая будет использоваться для хранения текущего числа, которое нужно проверить на наличие двоек и пятерок.
  5. Внутри цикла проверяется, является ли текущее число четным (остаток от деления на 2 равен нулю). Если да, то запускается вложенный цикл while, который будет выполняться до тех пор, пока число не станет равным 2.
  6. Внутри вложенного цикла переменная a делит текущее число на 2, а переменная k2 увеличивается на 1.
  7. После завершения вложенного цикла while переменная a сбрасывается обратно на текущее число.
  8. Затем проверяется, является ли текущее число кратным 5 (остаток от деления на 5 равен нулю). Если да, то запускается вложенный цикл while, который будет выполняться до тех пор, пока число не станет равным 5.
  9. Внутри вложенного цикла переменная a делится на 5, а переменная k5 увеличивается на 1.
  10. После завершения вложенного цикла while переменная a сбрасывается обратно на текущее число.
  11. По завершении внешнего цикла проверяется, какое из значений k2 и k5 меньше.
  12. Если k2 меньше k5, то выводится значение k2, иначе выводится значение k5.
  13. Выводится символ новой строки (readln), чтобы перейти на следующую строку вывода.
  14. Код завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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