hihocoder1178 计数
2015-07-24 16:16
274 查看
#include <iostream> #include<cstring> #include<set> #include<cstdio> using namespace std; int n,L,R; int main() { scanf("%d",&n); scanf("%d%d",&L,&R); int x=1; while(x<R) { x*=2; } x=x/n+1; set<int> s; int ans; for(int i=0;i<=x;i++) { ans=i^(n*i); if(ans<=R&&ans>=L) s.insert(ans); } printf("%d\n",s.size()); return 0; }简单枚举,只不过i的上限可以计算出来,n*i的二进制长度不可能超过R的长度
相关文章推荐
- 深入理解Java的接口和抽象类
- OC-NO.2属性
- 以Tomcat为例介绍Servlet容器启动过程
- [树状数组&线段树]HDU3874 Necklace 离线思想
- 7-24
- 生成模型和判别模型的理解
- sap保存时小写字母自动转大写字母的解决方法
- 第六章――根据执行计划优化性能(3)――键值查找
- 充值流量平台接口,常见流量平台列表
- 隐藏的iframe
- Orchard编写网上商店模块1
- Oracle 递归函数与拼接
- 记一次无聊的视力测试
- iTool拷贝app到电脑上
- LeetCode ---LRU Cache
- Android Studio 快捷键
- 使用Scala开发Apache Kafka应用入门
- Vim快捷键大全
- 网络栈加载完数据发送消息时的堆栈
- jvm内存使用上限