Home > 电脑/网络 > 程序设计 > 其他编程语言

╯△╰VB 如何写一个阶乘,然后显示阶乘后结果有多少个0 д┭ろт⑨


我要写一个VB的程序,要求当输入一个数的时候,结果显示这个数阶乘后结果有多少个0,比如:我在textbox里面输入一个数字5,程序通过运算,阶乘就是1×2×3×4×5=120,然后在另一个textbox里面显示结果是1,说明这个数字5的阶乘的结果里面有1个0.再例如:如果输入3,通过程得出阶乘结果是6,textbox里要显示0,说明这个数字3的阶乘结果里面没有0.谢谢,哪位帮我解决一下

这个就是个质因数分解问题而已,如下:

  int tsZeroOfFact(int n)
{
 int nFive = 0, nTwo = 0;
 for(int ii=1; ii<=n; ++ii){
  int kk = ii;
  while(!(kk%2)){
   ++nTwo;
   kk /= 2;
  }
  kk = ii;
  while(!(kk%5)){
   ++nFive;
   kk /= 5;
  }
 }
 return (nFive<=nTwo) ? nFive : nTwo;
}

用循环或者递归可以实现 

饭客网络 部分VIP编程教程免费观看 


Copyright © 2009-2011 All Rights Reserved.