Codegolf — Подсчитайте Количество Конечных Нулей В N!

  • Автор темы Sati_kl
  • Обновлено
  • 22, Oct 2024
  • #1
На этот вопрос уже есть ответы здесь:

Нули в конце факториала

(61 ответ)

Закрыт 5 лет назад.

 
 0
51
11416
308638
19735878
1141973522
30308278058278057808278080759
 

Напишите функцию, которая принимает n в качестве параметра и возвращает количество конечных нулей в n!.

1 213 45678 1234567 78943533 4567894123 121233112233112231233112323123

Входные ограничения

0 <= n <= 10^100

Sati_kl


Рег
01 Dec, 2006

Тем
60

Постов
203

Баллов
503
  • 26, Oct 2024
  • #2

Python 50 47 символов

 
 
 
 
 
 n=gets.to_i;a=0;i=1
a+=n/i*=5while i<n
p a
 
||answer||

Питон, 36 символов

Вырвано из моего предыдущего отвечать

f i=length$filter(\x->x`mod`5/=0)[1..i];main=interact$show.f.read ||answer||

Дж, 26 лет

f 121233112233112231233112323123x 30308278058278057808278080759 f 4567894123 1141973522 f 0 0 f 10^100x 2499999999999999...99999999999999999982

например

! `f=:3 :'+/<.y%5^(1+i.144x)'`

менее чем за секунду для всех входных примеров

 

AntD


Рег
05 Apr, 2006

Тем
69

Постов
200

Баллов
545
  • 26, Oct 2024
  • #3

Хаскель, 63 байта

f=lambda n:n//5+(n//5>0and f(n//5)or 0) #Py3k #39 Chars f=lambda n:n/5+(n/5>0and f(n/5)or 0) #Before 3.0 #36 Chars ||answer||

Руби, 52 43

n=input() x=5 s=0 while n/x:s+=n/x;x*=5 print s
 

Romandspu


Рег
14 Apr, 2011

Тем
73

Постов
205

Баллов
590
Тем
403,760
Комментарии
400,028
Опыт
2,418,908