求N!的二进制表示中最低位1的位置
来源:互联网 发布:库课软件怎么样 编辑:程序博客网 时间:2024/06/01 07:57
判断一个二进制中最后一位是否为0,可以把这个二进制除以2,如果结果为0则把这个数向右移动了一位,否则说明这个数最后一位为1,无法整除2,。
所以这个问题可以变为N!中质因数2个个数,一个二相当于使其向左移动一位,非2的倍数相乘最后一位是1不变,因此只要判断里面质因数2的个数就可以了,其他不用管。
而N!中 1~N中能被2整除的N/2,能被4整除的N/4,能被8整除的N/8…………
所以可以的代码:
int lowestOne(int n){ int ret = 0; while(n) { n >>= 4; ret +=n; } return ret;}
0 0
- 求N!的二进制表示中最低位1的位置
- 求N!的二进制表示中最低位1的位置
- 求N!的二进制表示中最低位1的位置
- 编程之美---求N!的二进制表示中最低位1的位置
- 求N!的二进制表示中最低位1的位置 ->求 N!的质因子2的个数
- 求N!的二进制表示中最低位1的位置解答题中一个小证明
- 求N!的二进制表示最低位的1的位置(从右向左数)
- 求n的阶层二进制最低位1的位置
- 求N!二进制最低位1的位置
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?求N!的二进制表示中最低位1的位置。
- C程序:n!的二进制表示中最低位1的位置
- 编程之美-2.2、n阶乘的二进制表示中最低位1的位置
- 阶乘N!的二进制表示中最低位1的位置
- 编程之美2——N!的二进制表示中最低位1的位置
- 求正整数的二进制表示中最低位1的位置
- 求N!的二进制表示中最低位1的值
- 判断N!中二进制中最低位1的位置
- 阶乘中最低位0的个数&二进制表示中最低位1的位置
- java链接mysql数据库并且写入数据并且解决写入数据库乱码问题
- 【9patch】手把手让你爱上Android sdk自带“9妹”
- Scrapy爬虫笔记【8-Scrapy核心操作+爬豆瓣图片+数据库链接】
- 为程序设置版本和帮助信息
- android.intent.action.DATE_CHANGED有时不广播的原因
- 求N!的二进制表示中最低位1的位置
- WEB基础__HTML 概述及常用标签
- 蓝牙问题总结
- 写一个方法来记录listView中的item数量(checkBox的选择)
- Erlang数据库-(一)Erlang与Mysql的连接
- Linux查看CPU和内存使用情况
- 分布式文件系统FastDFS设计原理及技术架构
- 2013级C++第5周(春)项目——用构造函数初始化【项目1-三角形类的构造函数】
- .net 反射和日志