C语言 下面程序段的功能是计算1000!的末尾含有多少个零,请选择填空,(提示:只要算出1000!中含有因数5的个数即可)for(k=0,i=5;i

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 18:45:52
C语言 下面程序段的功能是计算1000!的末尾含有多少个零,请选择填空,(提示:只要算出1000!中含有因数5的个数即可)for(k=0,i=5;i

C语言 下面程序段的功能是计算1000!的末尾含有多少个零,请选择填空,(提示:只要算出1000!中含有因数5的个数即可)for(k=0,i=5;i
C语言
下面程序段的功能是计算1000!的末尾含有多少个零,请选择填空,(提示:只要算出1000!中含有因数5的个数即可)
for(k=0,i=5;i

C语言 下面程序段的功能是计算1000!的末尾含有多少个零,请选择填空,(提示:只要算出1000!中含有因数5的个数即可)for(k=0,i=5;i
不是要算末尾有多少0嘛,也就说如果让1000!一直除以10,看能除多少次.
那么,这个问题就变相成为:一直除以5*2,看能除多少次.想象看,能被5整除的数只有末尾是5和0的数字,也就是说只有XXXXXX5,和XXXXXX0是可以整除5的,其中X表示任意数字.而从1到1000,能整除2的有的是,远远超过能整除5的,所以问题就变相成为看有多少个能整除5的数字了.
while的括号中是m%5 == 0,就是保证让m能一直整除5,知道m不能整除5为止.
对于整个的for循环,只要从5开始,每次都+=5,因为只有这些数字才能整除5.