【NOIP2016提高A组模拟8.19】公约数
来源:互联网 发布:linux命令大全 编辑:程序博客网 时间:2024/05/22 06:32
Description
给定一个正整数,在[1,n]的范围内,求出有多少个无序数对(a,b)满足gcd(a,b)=a xor b。
Input
输入共一行,一个正整数n。
Output
输出共一行,一个正整数表示答案。
Sample Input
3
Sample Output
1
解释:只有(2,3)满足要求
Data Constraint
对于30%的数据满足n<=1000
对于60%的数据满足n<=10^5
对于100%的数据满足n<=10^7
Solution
三十分暴力
六十分用了点神奇优化:两个数的二进制毕竟位数相同
100分:
当a>b
发现
于是设c=a-b
枚举c和i,c*i=a
然后就没有然后了
Code
#include<cstdio>#define fo(i,a,b) for(int i=a;i<=b;i++)int n,ans;int main(){ scanf("%d",&n);ans=0; fo(c,1,n) fo(i,2,n/c) if(((c*i)^(c))==c*(i-1)) ans++; printf("%d",ans);}
看谁的代码比我短
0 0
- 【NOIP2016提高A组模拟8.19】公约数
- 公约数【NOIP2016提高A组模拟8.19】
- 【NOIP2016提高A组模拟8.19】公约数
- [JZOJ 4714]【NOIP2016提高A组模拟8.19】公约数
- JZOJ.4714【NOIP2016提高A组模拟8.19】公约数
- JZOJ 4714 【NOIP2016提高A组模拟8.19】公约数
- jzoj 4714. 【NOIP2016提高A组模拟8.19】公约数 数(luan)学(gao)
- 【NOIP2016提高A组模拟8.19】(雅礼联考day2)公约数
- [JZSC2016 Part 2] 【NOIP2016提高A组模拟8.19】总结
- 【NOIP2016提高A组模拟8.19】树上路径
- JZOJ.4715【NOIP2016提高A组模拟8.19】树上路径
- 【JZOJ4715】【NOIP2016提高A组模拟8.19】树上路径
- JZOJ 4715 【NOIP2016提高A组模拟8.19】树上路径
- 【NOIP2016提高A组模拟7.15】立方体
- 计数【NOIP2016提高A组模拟7.15】
- 【NOIP2016提高A组模拟7.17】寻找
- 【NOIP2016提高A组模拟7.17】寻找
- 【NOIP2016提高A组模拟7.17】锦标赛
- n a^o7 !
- 解决java.lang.RuntimeException: Unable to start activity Activity无法打开的问题
- NandFlash初始化
- 【NOIP2016提高A组模拟8.19】(雅礼联考day2)树上路径
- 数据库增删改查基本语句
- 【NOIP2016提高A组模拟8.19】公约数
- 8天学通MongoDB——第六天 分片技术
- poj 1191 棋盘分割 dp-进阶
- radiogroup .clearCheck()之后 里面的RadioButton要点击2次才能被选中
- QT编程之Layout
- 举例阐述游戏战斗系统设计的基本规则
- Dubbo&ZK分布式服务化改造(四)——Dubbo多注册中心 & 服务迁移
- Web 安全问题
- xml在java中的运用