编程之美
luxialan
这个作者很懒,什么都没留下…
展开
-
求二进制数中1的个数
这道题我一开始能想到的就只有位运算+右移,最直观。二进制最后一位 对应于mod2,右移一位对应于/2 int count(int v) { int num = 0; while(v) { if(v % 2 == 1) { num++; } v /= 2; } return num; } in原创 2015-04-24 19:25:19 · 496 阅读 · 0 评论 -
不要被阶乘吓到
1.给定整数N,那么N的阶乘N!末尾有多少个0? 这个问题经过质因子分解转换为求5的指数 ret = 0; for(i = 1; i <= N ; i++) { j = i; while (j % 5 == 0) { ret++; j /=5; } } [N/k] 等于1,2,3...,N中能被k整除的数的个数原创 2015-04-26 13:52:23 · 602 阅读 · 0 评论