0 / 0 / 0
Регистрация: 28.03.2019
Сообщений: 23
1

Программа для подсчета нулей факториала

07.05.2019, 07:50. Показов 2288. Ответов 1

Напишите программу, которая для любого целого числа K до 10000 находит число нулей в записи K! в десятичной системе счисления. Программа должна быть как можно более эффективная.

Пожалуйста помогите решить(желательно на pascal) !!!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2019, 07:50
Ответы с готовыми решениями:

Программа для подсчета нулей в массиве
Необходимо написать программу для подсчета количества нулей в массиве из 100 двоичных чисел(в коде...

Программа и функция для подсчета количества элементов вектора, десятичная запись которых содержит не менее двух нулей
Составить главную программу и функцию. В функции в векторе А(М), состоящем из целых чисел больших...

Исправить функцию для подсчета большого факториала
Помогите написать функцию для подсчета большого факториала, вот код программы using System;...

Программа для факториала
Привет всем. Мне срочно нужно создать программу для этого факториала. Пожалуйста если кто-нибудь...

1
5021 / 2608 / 2332
Регистрация: 10.12.2014
Сообщений: 9,929
07.05.2019, 09:59 2
Лучший ответ Сообщение было отмечено blkmg как решение

Решение

Цитата Сообщение от blkmg Посмотреть сообщение
желательно на pascal
Во-первых, вы в разделе паскаля. Так на чём же вам тут ещё могут написать?
А во-вторых, паскаль - паскалю рознь!
К примеру, на PascalABC.NET можно написать так:
Pascal
1
2
3
4
5
begin
  var b:=biginteger.One;
  for var i:=1 to ReadInteger do b*=i;
  b.ToString.Count(c->c='0').Println;
end.
И работать это будет в разы быстрее, чем вот так на TP:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
  b:array [0..40000]of Byte;k,i,l,z,d:Longint;
begin
  ReadLn(k);if(k<0)or(k>10000) then Halt;
  for i:=0 to 40000 do b[i]:=0;b[0]:=1;l:=1;z:=0;
  for k:=2 to k do
    begin
      d:=0;
      for i:=0 to l-1 do begin d:=d+k*b[i];b[i]:=d mod 10;d:=d div 10;end;
      while d>0 do begin b[l]:=d mod 10;d:=d div 10;inc(l);end;
      while b[0]=0 do begin inc(z);dec(l);for i:=1 to l do b[i-1]:=b[i];end;
    end;
  for i:=1 to l-1 do if b[i]=0 then inc(z);
  WriteLn(z);
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2019, 09:59
Помогаю со студенческими работами здесь

Подсчет Нулей факториала
Напишите программу, которая для любого целого числа K до 10000 находит число нулей в записи...

Программа для вычисления факториала
Зравствуйте, помогите, пожалуйста, написать программу, которая вычисляет факториал введенного с...

Программа для нахождения факториала числа
Ребята помогите, сижу на экзамене дали прогу... Напишите программу для нахождения факториала...

Создать программу подсчета факториала числа от 1 до 20
Здравствуйте! Я только начал изучать ассемблер, и вот никак не могу сделать одно задание ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru