SphereOJ-11. Factorial-翻译及AC代码(C#)

阶乘

问题代码: FCTRL

问题描述:

GSM网络最重要的部分叫做基站(BTS)。他们在叫做单元的区域传递信号并且每个电话都连接到附近信号最强的基站。当然,基站需要维护。

计算机协会的技师当前面临着一个很有意思的问题。给定一些基站,他们需要找到一个最短路径来遍历所有基站之后返回到公司总部。程序员花了几个月来研究这个,无果。他们找不到足够快的解决方案。很长之间之后,其中一个程序员在一篇论文里发现了这个问题。很不幸,他发现这个问题也叫做“旅行的推销员难题”,它是很难解决的。如果我们有N个基站,用任意顺序访问他们就会得出N!种可能性。这个表达式被叫做级数。一个相对较小的N的阶乘积会是非常大的一个数字。

程序员们知道他们解决不了这个问题。但是因为他们已经从政府那里获得了研究经费,他们必须继续研究,至少得出点成果。这样,他们开始研究阶乘函数的行为。

例如,他们定义了函数Z。对任何的正整数N,Z(N)就是N!的十进制形式后面0的个数。他们发现这个函数是单调递增的。因为我们在两个数相乘的时候不会丢失任何0.函数Z很有意思,所以我们需要一个程序来高效地计算它。

输入

输入的首行是一个正整数T(大约100000),表示接下来输入数字的个数。接下来的T行,每行包含一个1至1000000000之间的正整数。

输出

For every number N, output a single line containing the single non-negative integer Z(N).

示例

输入:

6
3
60
100
1024
23456
8735373

输出:

0
14
24
253
5861
2183837

 

AC代码-C#

 

Code

 

 

posted @ 2008-10-31 14:08  无远弗界  阅读(331)  评论(0编辑  收藏  举报