http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1536&judgeId=591839

CodeForces

修改 隐藏话题

1536 不一样的猜数游戏 

题目来源: CodeForces

基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题

 收藏

 关注

瓦斯亚和皮台亚在玩一个简单的游戏。瓦斯亚心中想一个整数x,它是1到n之间的整数。然后皮台亚尝试着猜这个数字。

皮台亚每次问一个形如这样的问题:这个x是y的倍数吗?

这个游戏的流程是这样的:首先皮台亚把所有他想问的形如上述的问题都问出来(当然他也可以不问任何问题),然后瓦斯亚针对每一个问题给出yes或no的答案。最后皮台亚根据这些问题推断出瓦斯亚心中所想的x是哪个数字。

现在皮台亚想知道他最少要问多少个问题才能猜出1到n之间的那个数字。也就是说不管x是1到n之间的哪个数字只要问那些问题就能够确定那个数字了。

样例解释:

可以问是否是2,3,4这些数字倍数的三个问题。

如果都不是,说明是1.

如果是4的倍数,说明是4.

如果是3的倍数说明是3.

否则就是2。

没有比这更少的问题数目了。

Input

单组测试数据。
第一行输入一个整数n (1≤n≤1000)。

Output

输出最少的问题数目。

Input示例

样例输入1
4

Output示例

样例输出1
3

前面列举了一下,发现只要是素数的次方的数都得猜一遍,而其它的都可以用一些素数的倍数猜出来,比如10,他是2的倍数也是5的倍数,如果从1猜到10的话,之猜2,3,5,就能够把除了他们次方的数猜出来完。

#include <bits/stdc++.h>
using namespace std;const int MAXN = 1010;
bool isPrime[MAXN];void getPrime(int n)
{isPrime[0] = isPrime[1] = true;for(int i = 2; i <= n; ++i){if(!isPrime[i]){for(int j = i+i; j < MAXN; j += i)isPrime[j] = true;}}
}int main()
{int n;cin >> n;getPrime(n);int res = 0;for(int i = 1; i <= n; ++i){if(!isPrime[i]){int p = i;while(p <= n){p *= i;++res;}}}cout << res <<endl;return 0;
}

51nod1536不一样的猜数游戏相关推荐

  1. python猜数游戏在程序中预设一个_一道Python简单程序结构练习题

    1.猜数游戏. 在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜数字,如果大于预设的数, 显示"遗憾,太大了":如果小于预设的数,显示"遗憾,太小了": ...

  2. python猜数游戏流程_python简单猜数游戏实例

    本文实例讲述了python简单猜数游戏.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/env python import random number = random.randint ...

  3. php猜数游戏63,PHP实现猜数游戏的代码实例分享

    猜数游戏有两种玩法: 第一种:两个人玩,一方出数字,一方猜.出数字的人要想好一个指定位数的数,数字可重复,不能让猜的人知道. 猜的人就可以开始猜.每猜一个数,出数者就要说大过或小过出的数. 第二种:两 ...

  4. 计算机猜数游戏matlab,MATLAB课程设计报告猜数游戏设计

    课程设计的目的及意义 目的:通过本次课程设计,可以使我进一步认识MATLAB理论方法和实际意义,对理论知识进行必要实践.培养我们设计和仿真的基本能力,以便最终和生产实践以及其他科学结合. 意义: 1. ...

  5. 十四、Java练习:一个猜数游戏

    @Author:Runsen @Date:2020/5/23 本专栏是付费学Java专栏,今天我做一个猜数游戏.将前面,我写的全部复习下. 其实,这个猜数游戏,也是我学Java中的学过的. 文章目录 ...

  6. 猜数游戏,随机目标数字,直到猜中退出

    /* 猜数游戏(其三:目标数字是0~999的随机数)*/#include <time.h> #include <stdio.h> #include <stdlib.h&g ...

  7. 猜数游戏 (10 分)

    猜数游戏 (10 分) 用户从键盘输入两个整数,第一个数是要猜测的数n(<10),第二个数作为随机种子.随机生成一个1~10的整数,如果该数不等于n,则再次生成随机数,如此循环,直至猜中数n,显 ...

  8. Python案例:猜数游戏

    Python案例:猜数游戏 一.猜数游戏概述 Every programmer has a story about how they learned to write their first prog ...

  9. 采用python语言实现猜数游戏_用python实现猜数游戏

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文实例为大家分享了python实现猜数游戏的具体代码,供大家参考,具体内容如下 ...

最新文章

  1. vmd变分模态分解程序matlab论坛_博士兼职辅导员论坛分享会第三期
  2. Android批量图片载入经典系列——afinal框架实现图片的异步缓存载入
  3. hbase以mr导数据方式
  4. jmeter分布式压测原理简介1
  5. 允许使用抽象类类型 isearchboxinfo 的对象_Java学习5-设计模式+抽象类/方法
  6. 一个开源小项目,如何使用「分类网络」实现排球追踪
  7. +++++++子域授权与编译安装(一)
  8. [No000048]程序员的成长过程中,有哪些阶段?
  9. matlab2c使用c++实现matlab函数系列教程- polyval函数
  10. 【word】为什么word分两栏的最后一页左边一栏没写完跑到右边去了
  11. PS星光闪耀滤镜:Topaz Star Effects Mac版
  12. mysql 重置密码_mysql忘记密码如何重置密码,以及修改root密码的三种方法
  13. java对打字速度,java课程设计-- 打字速度测试程序
  14. AcWing 120 防线
  15. 浙江大学计算机考研最新,2017年浙江大学计算机考研复试分数线_浙江大学考研分数线...
  16. 飞腾笔记本/银河麒麟桌面操作系统键盘无法使用
  17. 设置金蝶kis记账王会计科目的教程
  18. SecureCRT常用的几个命令
  19. RK3568平台开发系列讲解(NPU篇)让 NPU 跑起来
  20. unity中控制游戏物体移动最基本的三种方法

热门文章

  1. Unity 制作虚拟手柄例子
  2. hylan:linux实用 拷贝文件到U盘
  3. There is no getter for property named 'XXX' in class 'aaa.bbb.ccc'(终极骚操作的解决方法)
  4. 沙师弟学数据结构与算法之哈希表
  5. 统计学习提纲(持续更新)
  6. 华为服务器带外地址修改,由于将MA5626带内管理地址配置为带外管理地址导致配置状态失败...
  7. Interactive Html Bom使用
  8. Kdenlive图解教程:使用Kdenlive快速剪切视频片段
  9. 贪心算法|柠檬水找零
  10. Spring 5 DI 相关内容 5.3 自动配置 5.3.4 完成自动装配的配置