编程之美闪光点

1、 求10进制数中1的数目

采用求模运算%和除法运算/,得到每个位数上1的个数

2、 判断两个单向链表是否有环

将第二个链表的尾部接到第一个链表的头部,然后判断该链表是否有环。

判断单链表是否有环:取两个头指针,步进分别为1和2;如果两者可以相等,则有环,否则无环。

3、 判断阶乘N!末尾有多少个0

将N!质因素分解为2X*3Y*5Z*…,则2*5=10,末尾0的个数取决于X和Z,而2比5多,则末尾0的个数等于Z。具体的算法:遍历1到N,通过取模运算%和除法运算/判断每个数中含有5的个数。

4、 求8位二进制数中1的个数

有如下三种方法:(1)采用求模运算%和除法运算/;(2)采用移位运算;(3)采用256位数组,用空间换时间。

    原文作者:braveyly
    原文地址: https://blog.csdn.net/braveyly/article/details/84414355
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞