二分查找做的小游戏

news/2024/4/16 11:19:22

目录

1.前言

2.游戏(跟二分无关的一个整蛊游戏)

3.二分查找游戏


1.前言

二分代码:

#include <iostream>
using namespace std;
int n, num[1000005],x,q;
int f(int x){int l = 0,r = n-1;int mid;while (l <= r){mid = (l+r)/2;if (num[mid] == x){return mid;}else if(num[mid] > x){r = mid-1;}else if(num[mid] < x){l = mid+1;}}return -1;
}
int main(){cin >> n;for (int i = 0; i < n; i++){cin >> num[i];}cin >> q;while (q--){cin >> x;cout << f(x) << "\n";}return 0;
}

那是不是可以让c++做一个你想我猜的小游戏呢?

2.游戏(跟二分无关的一个整蛊游戏)

一个比较整蛊的小游戏

首先他会让你输入一个数

然后输出一大堆的字符,最后输出你那个数字

#include <bits/stdc++.h>
#include <unistd.h>
using namespace std;
int main(){cout << "我是读心术大师~\n";cout << "请你在键盘上随便乱摁几个数我能猜出他是什么~\n";string n;cin >> n;for (int i =0; i < 10; i++){cout << "—";sleep(1);}cout << "加载成功!";for (int i =0; i < 10000; i++){cout << "——";}cout << "\n你猜的数是:" << n;return 0;
}

3.二分查找游戏

通过二分查找的方式乘一到1014去查找你心里想的那个数字.

#include <iostream>
#include <unistd.h>
using namespace std;
int main(){cout << "我们来猜数字吧!你想一个1~1024的数字,我会输出一个数字请你告诉我我是猜对了还是猜大了或者猜小了\n";int l = 0,r = 1024,m =0;int cnt = 0;while (l <= r){m = (l+r)/2;cout << m << "\n";cout << "我猜对了吗还是大了或者小了?\n对了:y 大了:b 小了:s";char a;cin >> a;if (a == 's' and m != 1024){l = m+1;}else if (a == 'b' and m != 1){r = m-1;}else if (a == 'y'){cout << "哈哈我猜对了";return 0;}else{printf("脑瘫~");break;}cnt += 1;if (cnt > 10){printf("你要想好一个数哦~\n");printf("别老是换来换去");break ;}}
}


https://www.xjx100.cn/news/3366028.html

相关文章

javaAPI1

API application pragramming interface 应用程序编程接口 除java.lang包以外,其他包中的类在使用时需要导入 建包 package com.abc.javabean; 导包格式,import 包名.类名 API使用技巧 1,先看关键字 2,看参数列表 3,看返回值类型 String 封装字符串和处理字符串的类…

Web CSS笔记3

一、边框弧度 使用它你就可以制作盒子边框圆角 border-radius&#xff1a;1个值四个圆角值相同2个值 第一个值为左上角与右下角&#xff0c;第二个值为右上角与左下角3个值第一个值为左上角, 第二个值为右上角和左下角&#xff0c;第三个值为右下角4个值 左上角&#xff0c;右…

SpringBoot快速入门笔记(1)

文章目录 一、环境准备1、maven2、新建项目版本问题 二、项目上手1、HelloController2、热部署3、控制器4、参数传递5、ParamsController 一、环境准备 1、maven 把下载的maven包给配置好 2、新建项目版本问题 新建项目发现没有Java8&#xff0c;新版本IDEA问题&#xff08;2…

Vue 样式技巧总结与整理[中级局]

SFC&#xff08;单文件组件&#xff09;由 3 个不同的实体组成&#xff1a;模板、脚本和样式。三者都很重要&#xff0c;但后者往往被忽视&#xff0c;即使它可能变得复杂&#xff0c;且经常导致挫折和 bug。 更好的理解可以改善代码审查并减少调试时间。 这里有 7 个奇技淫巧…

mysql闲谈

如何定位慢查询 1、测试环境压测时&#xff0c;有的接口非常慢&#xff0c;响应时间超过2秒以上。当时系统部署了运维的监控系统Skywalking&#xff0c;在展示报表中可以看到是哪儿个接口慢&#xff0c;可以看到SQL具体执行时间。 2、如果没有类似的监控系统&#xff0c;在Mysq…

网络原理 - HTTP / HTTPS(2)——http请求

目录 一、认识 “方法”&#xff08;method&#xff09; 1、GET方法 2、POST方法 &#xff08;1&#xff09;登录 &#xff08;2&#xff09;上传 &#xff08;3&#xff09;GET和POST使用习惯 3、GET方法和POST方法的区别 正确滴 关于一些网上的说法&#xff0c;错误滴…

*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT

今天在使用KEIL编程的时候&#xff0c;出现了以下错误&#xff1a; *** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT 在不断检查代码逻辑和语法的情况下&#xff0c;并未发现任何错误。后来才发现是data空间已经不够用。在此记录一下解决方案。 出现以上错误的原因主要是…

全流程基于GIS、python机器学习技术的地质灾害风险评价与信息化建库实践应用

入门篇&#xff0c;ArcGIS软件的快速入门与GIS数据源的获取与理解&#xff1b;方法篇&#xff0c;致灾因子提取方法、灾害危险性因子分析指标体系的建立方法和灾害危险性评价模型构建方法&#xff1b;拓展篇&#xff0c;GIS在灾害重建中的应用方法&#xff1b;高阶篇&#xff1…