这个题目不能直接求出N!的值这樣可能会溢出。首先考虑N!=K*10^M,并且K不能被10整除那么N!末尾有M个0。再考虑对N!进行质因数分解N!=(2^X)*(3^Y)*(5^Z)...,由于10=2*5,所以M只和X和Z有关每一对2和5相乘都可以嘚到一个10,于是M=min(X,Z);不能看出X>=Z.所以把公式简化为M=Z只要计算出Z的值,就可以得到N!末尾0的个数
拍照搜题秒出答案,一键查看所有搜题记录
拍照搜题秒出答案,一键查看所有搜题记录
拍照搜题秒出答案,一键查看所有搜题记录
编辑推荐知乎用户:本人在美国佛罗里达来美已经四年,每年年底都要去坐一次cruise本人对北美系的cruise公司比较熟悉,目前已经坐过carnival, princess, disney和holland america四个邮轮公司的船 Update: 目前计划在F1的最後一个寒假补上皇家加勒比,不过跨年的Oasis真…
这个题目不能直接求出N!的值这樣可能会溢出。首先考虑N!=K*10^M,并且K不能被10整除那么N!末尾有M个0。再考虑对N!进行质因数分解N!=(2^X)*(3^Y)*(5^Z)...,由于10=2*5,所以M只和X和Z有关每一对2和5相乘都可以嘚到一个10,于是M=min(X,Z);不能看出X>=Z.所以把公式简化为M=Z只要计算出Z的值,就可以得到N!末尾0的个数