N!
2015-07-25 21:10
267 查看
N!
时间限制:1000 ms | 内存限制:65535 KB难度:3
描述
阶乘(Factorial)是一个很有意思的函数,但是不少人都比较怕它。现在这里有一个问题,给定一个N(0<0<1000000000),求N!的二进制表示最低位的1的位置(从右向左数)。
输入本题有多组测试数据,每组数据一个正整数N(0<0<1000000000),以EOF结束输出求N!的二进制表示最低位的1的位置(从右向左数)。一组数据占一行。样例输入
1 2 3 4
样例输出
1 2 2 4
// 算法 因为是二进制 从低位到高位找第一个1
// 所以 就应该找 输入的数有 多少质因子 2,有多少就应该进多少位
<span style="font-family:SimSun;font-size:18px;">#include <stdio.h> int main() { int n,i; while(scanf("%d",&n)!=EOF) { int sum=0; for(i=2;i<=n;i*=2) { sum+=n/i; // 记录质因子 2 的个数 } sum++; printf("%d\n",sum); } return 0; }</span>
相关文章推荐
- JAVA笔记之环境配置
- Delphi7学习第二天
- view的触摸事件OnTouch与监听
- LeetCode_1 TwoSum
- ADT、SDK、eclipse、集成开发工具
- setObject设置boolean的类型为啥不行?
- 【MySQL案件】ERROR 1418
- 二叉树的非递归遍历
- 2015 Multi-University Training Contest 2 hdu 5308 I Wanna Become A 24-Point Master
- How Many Answers Are Wrong
- HDU 4162 Shape Number(字符串,最小表示法)
- ZOJ - 2358 Sum of Factorials
- ECHOSRV.C中的main()设立一个 I/O completion port
- php函数strip_tags标签未闭合的情况
- Docker创建MySQL集装箱
- 协方差意义
- Drupal 7 模 .info 文件描述
- HDU5289(2015多校1)--Assignment
- 你所不知道的传输层
- linux基础知识总结一