天天看點

求N!末尾有多少個0

求N!末尾有多少個0

#include <stdio.h>

int main()

{

int i, n;

scanf("%d", &n);

for(i=0; i<n; i++)

{

int temp;

int cnt = 0;

scanf("%d", &temp);

while(temp != 0)

   cnt += (temp = temp/5);

printf("%d\n", cnt);

}

}

#程式

//n的階乘末尾有幾個0

#include <iostream>

using namespace std;

int count(unsigned int n)

{

int count = 0;

while(n > 0)

{

n = n/5;

count += n;

}

return count;

}

void main()

{

cout <<count(1024)<<endl;

}

是5的倍數的數有: 1024 / 5 = 204個

是25的倍數的數有:1024 / 25 = 40個

是125的倍數的數有:1024 / 125 = 8個

是625的倍數的數有:1024 / 625 = 1個

是以1024! 中總共有204+40+8+1=253個因子5。即1024!後有253個0

繼續閱讀