当前位置: 高中信息技术 / 综合题
  • 1. (2020·浙江模拟) 趣味数学题:n的阶乘n!=1*2*3*4*5*…*n,当n≥5时,其结果末尾必然包含多个0,求n!(5≤n≤32 726)末尾包含0的个数。

    算法思路:n较大时,n!的值将超出long类型范围,求出n!的结果再数0的个数不现实。那么末尾的0到底是从哪里来的?每一个因子5与任一偶数相乘就会产生一个0。所以末尾有多少0是由因子5的个数决定的,求出因子5的个数即是末尾0的个数。程序运行界面和代码如图所示。

    1. (1) 为使窗体加载时,窗体标题栏自动显示为“第14题程序”,则可以在过程(填写过程名)中添加代码:Form1. Caption="第14题程序"。
    2. (2) 实现上述算法的VB程序如下,请补充程序中画线处的代码。

      Private Sub Command1_Click()

      Dim n As Integer

      n=Val(Text1. Text)

      i=1

      Do While

          s=s+n\5^i

          i=i+1

      Loop

      List1. AddItem Str(n)+"!末尾包含0的个数:"+

      End sub

    3. (3) 根据上述算法,2018!末尾包含0的个数是个个。

微信扫码预览、分享更方便