说明

今天是十月三号,学姐还没有想好该出什么题,有点慌张,但是学姐最近迷上了一堆小游戏,其中一个学姐不想玩,你可以帮忙将这个小游戏玩通关吗?

游戏规则很简单,游戏一开始,你将身处于一座城堡之中,公主被巨龙抓走到了山谷里,你需要去拯救公主。

发布者会给你两个一维坐标l和r(l<l<=r<=1e6),l和r分别是城堡和山谷的位置,从l到r之间的每一个数字都是你即将可能拥有的一起去救公主的伙伴,伙伴的条件是该数字对应的二进制数字中的1的总个数是素数,问你会有多少个伙伴和你一起去救公主(ps: 最后你千辛万苦找到了你的伙伴去到了山谷,救走了公主,然后你又一个人回到了山谷,和巨龙快乐的生活在一起,好耶,完结撒花!!)

输入格式

第一行是两个数l和r,表示城堡和山谷的位置。

输出格式

输出1行,表示有多少个伙伴

样例

输入数据 1

6 9

Copy

输出数据 1

3

Copy

提示

样例解释:

6的二进制表达是110,110中有2个1,2是素数

7的二进制表达是111,3个1,3是素数

8的二进制表达是1000,1个1,1不是素数

9的二进制表达是1001,2个1,2是素数

所以输出3。

总结反思:

看了题目很容易想到,这道题使用位运算来做。

1、这道题目的关键在于确定这个数字再二进制的情况下,1的个数。

2、没有想到可以直接让数字和1进行&操作,然后让数字左移1位再判断就好了。

以后要记住:当需要确定一个数字1的个数时,可以使用与1按位与+左移操作!!!

#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <vector>
#include <iostream>
#include <string.h>
#include <queue>
using namespace std;
int n;
int l,r,ans;
int main() {scanf("%d%d",&l,&r);for(int i=l; i<=r; i++) {int temp=i,s=0,k=0;while(temp) {if(temp&1==1)s++;temp=temp>>1;}int x=sqrt(s);for(int j=2; j<=x; j++) {if(s%j==0) {k=1;break;}}if(s==1)k=1;if(!k)ans++;}printf("%d\n",ans);return 0;
}

使用位运算函数:__builtin_popcount ( n )  来确定数字中含有的1的个数!再判断素数即可!!

#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <vector>
#include <iostream>
#include <string.h>
#include <queue>
using namespace std;
int l,r,ans=0;
int main() {scanf("%d%d",&l,&r);for(int i=l; i<=r; i++) {int k=0;int temp=__builtin_popcount(i),m=sqrt(temp);if(temp==1)continue;for(int j=2; j<=m; j++) {if(temp%j==0) {k=1;break;}}if(!k) {ans++;}}printf("%d",ans);return 0;
}

追梦算法----拯救公主?相关推荐

  1. 追梦算法----方格取数

    说明 在 n 行.m 列的方格矩阵中,每个方格都包含一个数字.小明可以从任意方格出发开始移动.每次移动可以移到与当前方格有一条边相邻的方格(即向上.下.左或右方向移动 1 格,且不能移出边界).除此之 ...

  2. 追梦算法----修路

    说明 某市调查城镇交通状况,得到现有城镇道路统计表.表中列出了每条道路直接连通的城镇.市政府 "村村通工程" 的目标是使全市任何两个城镇间都可以实现交通(但不一定有直接的道路相连, ...

  3. 追梦算法----P1072. 排队打水

    题目描述 有 n 个人排队到 1 个水龙头处打水,第 i 个人装满水桶所需的时间是 ti​,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小? 输入格式 第一行包含整数 n. 第二行包含 n ...

  4. 追梦算法----数字找朋友

    Description 给定起始数字 a  (1<=a<=10^5) 还有终止数字 b (0<=b<=10^8)我们现在有三种操作方法: 给当前的数字 x 乘3 给当前的数字  ...

  5. 追梦算法----睡懒觉

    Description 你的同桌犯困了,于是她想睡会让你待会叫她起来,但是她这个人吧有个癖好,喜欢在 回文时间 的时候起来,例如 12:21 就是一个回文时间(精确到分) 如果她被你叫起来的时候发现不 ...

  6. 追梦算法----马的遍历

    说明 中国象棋半张棋盘如图(a)所示.马自左下角往右上角跳.今规定只许往右跳,不许往左跳,且要求马跳的方式按照(b)图顺时针深度优先递归.比如图(a)中所示为一种跳行路线.如果马要从0,0点,跳到4, ...

  7. 追梦算法----智力大冲浪

    题目描述 小伟报名参加中央电视台的智力大冲浪节目.本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者 m 元.先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则 ...

  8. 【2022年终总结】勇敢追梦,去和人生博弈

    目录 序言 刚开始的1月 松懈的2月 忙碌的3月 迷茫的4月 开源项目的5月 入职汇报的6月 7月 8月 9月 假期过后的10月 至关重要的11月 最后冲刺的12月 2022年的总结 2023年的目标 ...

  9. 追梦App系列博客——设计思路篇

    文章目录 前言 一.追梦体系 1."寻梦" 2.追梦 3.追梦之旅 二.个人账户成长系统 三.积极的反馈机制--任务系统 四.虚拟货币系统 五.社交系统 1.社交新方式--梦见 2 ...

最新文章

  1. Windows Phone 二十、陀螺仪
  2. linux 网卡 开启dhcp,Linux DHCP如何绑定指定的网卡???
  3. Cookie application session
  4. [网络收集]avascript中top.location.href 与 location.href的区别
  5. C++ 基本数据类型 的 字节数
  6. php软件开发--yii2框架搭建及gitlib同步线上网站
  7. c语言水仙桃树编程,辰颐物语编辑部整理:春季适合种植哪些花卉品种?樱花和桃花怎么区分?...
  8. java 同步块关键字_Java同步关键字,同步方法和块
  9. 7.07 生成累积乘积
  10. android 图层绘画分析,Android绘图技巧使用详解
  11. 翻译:where在Swift中的用法
  12. 右键菜单 GenericMenu
  13. 小甲鱼鱼c论坛python作业_[全套55讲]鱼C论坛小甲鱼Python课后题试题.doc
  14. 火绒软件+软媒雷达(win10,弥补了火绒无优化内存服务)
  15. 使用Windows Server Backup备份与还原Hyper-V虚拟机
  16. 使用docker成功安装paddlespeech进行语音识别
  17. C++——NOIP模拟题——葫芦
  18. flash控件使用手册
  19. dota攻略(dota全部英雄装备合成和英雄打法)
  20. bokeh参数设置详解

热门文章

  1. 服务器从上架到上线经验
  2. 马云公开现身,视频连线为百名乡村教师颁奖
  3. 小鱼在家助力天翼智能终端展,携手中国电信共创智能未来
  4. 03HTML转义字符
  5. 努力打卡 每天学习 不浪费每一天 Day42
  6. linux玩游戏咋样,请问用Linux玩游戏的正确姿势?
  7. 货运物流app开发 为货主和物流公司提供一个方便的平台
  8. VueJS中axios关于回调函数this为undefined的问题
  9. CentOS安装Sonarqube9
  10. Nginx负载均衡的原理