求N!二进制中末尾1的位置(类似于求N!中有多少个5的问题)
如果N!的二进制中末尾是1,那么它就不能整除2,对应的位置是1;
如果N!的二进制中最末尾是0的话,它就可以整除2,所以问题就可以转化为求N!二进制含有多少个质因数2
就像就N!中含有5个数一样,n/5,n/5/5.。。。。
#include <iostream>
using namespace std;
int main() {int n;while(scanf("%d",&n)!=EOF){int ans=0;while(n){ans+=n/5;n/=5;}cout<<ans<<endl;}return 0;
}
所以,这里对应的代码为:n>>1相当于n/2
#include <iostream>
using namespace std;
int main() {int n;while(scanf("%d",&n)!=EOF){int ans=0;while(n){n>>=1;ans+=n;}cout<<ans+1<<endl;}return 0;
}
求N!二进制中末尾1的位置(类似于求N!中有多少个5的问题)相关推荐
- 对一个正整数n,求出n!中末尾0的个数。
对一个正整数n,求出n!中末尾0的个数. 输入 输入有若干行.每一行上有一个整数T,是测试数据组数,接着有T行,每一行包含一个确定的正整数n(n≤1000000000). 输出 对输入行中的每一个数据 ...
- 程序员面试100题之八:不要被阶乘吓倒(二进制表示中最低位1的位置 )
阶乘(Factorial)是个很有意思的函数,但是不少人都比较怕它,我们来看看两个与阶乘相关的问题: 1. 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800, ...
- 编程之美2——N!的二进制表示中最低位1的位置
任何数在计算机内部都是用二进制表示的,可以用这个特性来快速判断N!的二进制表示中最低位1的位置. 解法一: 将一个数的二进制数除以2,若二进制数的末尾是0,则能整除,否则不能整除. 因此,求 N!的二 ...
- java n%9==0_用C++实现求N!中末尾0的个数的方法详解
题目描述: 输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2 输入描述: 输入为1行,n(1≤n≤1000) 输出描述: 输出一个整数 ...
- 求n!中末尾零的个数
分析:求n!中末尾零的个数,2和5会出来零,求末尾0的个数,就是求2和5同时出现的次数,要统计2和5出现的次数,易知有,5一定有2,有2不一定有5,所以问题就变成了求n中5出现的次数. #includ ...
- 求一维数组中的最大数c语言,C语言 求一维数组中最大值的位置
C语言 求一维数组中最大值的位置0 stdlib;=10;;The location is%d"i++) { if(a[i]> return 0#include <:> i ...
- 如何求指定数字在数组中第一次出现的位置
问题描述: 给定数组 a = { 3,4,5,6,5,6,7,8,9,8}, 这个数组相邻元素之差都为1, 给定数字9, 它在数组中第一次出现的位置下标为8 实现思路: 方法一:"蛮力&qu ...
- 计算 n! 中末尾0的个数 求n!中p的重数
题意: 输入正整数n,计算 n! 中末尾0的个数 输入:输入一个正整数n (1≤n≤1 000 000 000) 输出:输出 n! 末尾0的个数 样例输入:3 100 1024 样例输出:0 24 2 ...
- 位运算的应用和分治法在二进制中的应用
位运算应用口诀 清零取数要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形. 2 "<< ...
- Oracle 11g 中告警日志的位置
Oracle 11g 中告警日志的位置 首先介绍2个新名词 Automatic Diagnostic Repository (ADR)一个存放数据库诊断日志.跟踪文件的目录,称作ADR base,对应 ...
最新文章
- PS多形式的部分之间复制“笨办法”
- 【正则表达式】值匹配汉字的正字表达式
- 基于UDP协议的socket套接字编程 基于socketserver实现并发的socket编程
- 当今 计算机已进入千家万户英语,学生英语教学论文,关于信息技术在大学英语教学中的应用探析相关参考文献资料-免费论文范文...
- 程序员的职业素养文摘
- EXT扩展实例:在EXT4中检测Iframe的加载事件,并给它加上MASK
- alert中文信息时乱码,html页面和script标签中均已设置为utf-8依然乱码
- 20155332 如何获取新技能+c语言学习调查
- [cocos2dx]斗地主随机发牌界面生成
- 做SEO优化第三步:学习了解HTML基础知识
- 算法入门基础知识总结
- gnu nano显卡测试软件,买不到了 篇四:站内首发——RX VEGA NANO评测
- python怎么打开h5文件_h5文件python
- Axure交互式设计
- OpenCV-图像高光调整
- 1、Android概述
- Thread Handler
- 牛津花卉数据集(Oxford 17/Oxford 102)官网
- AtCoder2362 - Splatter Painting - DFS+思维
- Linux C++ 服务器端这条线怎么走?一年半能做出什么?
热门文章
- Linux 执行 Shell脚本报错,“syntax error: unexpected end of file” 原因及处理
- java基础回顾---static关键字
- php 上标,PHP数组上标类型陷阱
- tc自动服务器,使用linux下的TC进行服务器流量控制
- 求栈中元素个数算法_嵌入式必知基础算法(一)
- db2 reorg(转)
- Maven入门指南12:将项目发布到私服
- AFNetwork 作用和使用方法具体解释
- iOS 网络与多线程--3.异步Get方式的网络请求(非阻塞)
- freemarker 如何获得list的索引值