霍建华为何接拍战长沙:求助:是PASCAL的题目

来源:百度文库 编辑:高考问答 时间:2024/05/07 14:35:43
1*2*3*...*n结果是一个很大的数,求这个数末尾有多少个连续的零。其中,n是integer型数。
输入输出格式:(采用文件输入输出)
F3.in
3 {n的大小}

F3.out
0 {末尾0的个数}

若你只需找出末0的个数则:末0则一定是10的倍数,对1....n循环,设该循环数为i,对i进行因式分解,记住i分解出来含几个2和个5,对分解出来的所有i2,i5(指2,5的个数.)累加,则min(总i2,总i5)为所求.
如果当n足够大的时候你是无法求出其积的(计算机位数所限).

INPUT “N=”;N
P=1
FOR I = 1 TO N
P=P*I
30 IF P MOD 10 = 0 THEN P=P/10:K=K+1:GOTO 30
IF P>1000 THEN P=P MOD 1000
NEXT I
PRINT K