首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    深入浅出的理解一下JAVA的递归思想

    我呢一直写的是js相关的文章,以至于很多人认为我是一个标准的前端工程师,这也不奇怪,后端的谁会瞎搞js呢?其实呢我是一个地地道道的写java的菜逼,嗯,菜逼,只是公司的要求被迫我写了js,可能是看我java太差了,或者是我长的比较适合写js等等吧,总之导致的结果是我写了很长一段时间的js,今天呢js写的也不少了,所以今天我想写一篇关于java的文章,看看我是不是还和以前一样的菜逼,其实写了那么久的js给我感觉是和java真的很多地方是一样的,两种语言虽然说是不同的,但是其实仔细的体会一下,也没什么特别不同的地方,这里说多说一点,很明显的一个区别可能就是java是强类型语言,js是弱类型语言,但是java是面向对象编程的, js其实也是的,所谓的强类型语言就是说呢他不同的变量必须使用不同的类型来声明,不能像js一样所有的都是var或者是let,当然还有很多大大小小的区别,这里我就不献丑了,毕竟看我的文章的可能还有java的大神,我就不班门弄斧了,今天要说的是java的递归的思想,为什么要说这个呢?其实很简单,就是觉得这个是java一个很有意思的地方,今天我们就看看有意思的在哪里!

    01

    小朋友学数学(23):求2000!末尾有多少个0

    一个数末尾的0是由2和5乘出来的,而1到2000里2多得是,主要看1到2000中有多少个5或5的n次方的倍数。 (1)统计5的倍数 2000/5=400,比如5、10、15、20、25等等。这些数,要么直接含了0,要么与2的倍数相乘会得到0,所以共有400个0。 (2)统计25的倍数 2000/25=80,比如25、50、75等等,这些数与4或4的倍数相乘,会得到两个0,但因为上一步中经加过一次0了,所以这里只能加80个0,而不是80 * 2 = 160个0。 (3)统计125的倍数: 2000/125=16,比如125、250、375等等,这些数与8或8的倍数相乘,会得到3个0。但是因为前两步算过两次了,这里只能再加一次。所以会增加16个0,而不是16 * 3 = 48个0。 (4)统计625的倍数 2000/625=3。这三个数分别数是625,1250和1875。这些数与16或16的倍数相乘,会得到4个0。但是前面已经计算过3次了,所以只会增加3个0,而不是3 * 4 = 12个 0。 (5)最后结果:400+80+16+3 = 499

    03
    领券