1. 程式人生 > >poj1401--Factorial--階乘末尾0的個數

poj1401--Factorial--階乘末尾0的個數

cnblogs sin factorial int amp div factor color sum

Description

  求出n!的末尾有多少個0(連續的)。

  每組測試點有t個測試數據,輸入格式為第一行一個t,後面2~t+1行每行一個n,輸出其結果。

Sample Input

6
3
60
100
1024
23456
8735373

Sample Output

0
14
24
253
5861
2183837

題解:

  求一個數階乘的末尾0的個數。
  10=2*5,顯然2的個數總比5多,
  即轉化為,求階乘分解以後有幾個5。

#include<iostream>
#include<cmath>
#include<cstdio>
#include<algorithm>
#include
<cstring> using namespace std; int main() { int t,n; cin>>t; while(t--) { cin>>n; long long sum=0; while(n) { sum+=n/5;//第一遍篩階乘的因數中有幾個五的倍數 n/=5;//用來循環篩下一次 } cout<<sum<<endl; } return 0
; }

poj1401--Factorial--階乘末尾0的個數