二分查找做的小游戏

目录

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 ;
		}
	}
}
相关推荐
DuHz7 小时前
论文精读:大语言模型 (Large Language Models, LLM) —— 一项调查
论文阅读·人工智能·深度学习·算法·机器学习·计算机视觉·语言模型
加农炮手Jinx7 小时前
LeetCode 72. Edit Distance 题解
算法·leetcode·力扣
借雨醉东风7 小时前
程序分享--常见算法/编程面试题:旋转矩阵
c++·线性代数·算法·面试·职场和发展·矩阵
_深海凉_7 小时前
LeetCode热题100-打家劫舍
算法·leetcode·职场和发展
jghhh018 小时前
使用 MATLAB 实现支持向量回归 (SVR) 预测未来数据
算法·matlab
云泽8088 小时前
笔试算法 - 双指针篇(二):四大经典求和题型 + 有效三角形计数问题
c++·算法
十五年专注C++开发9 小时前
WaitingSpinnerWidget: 一个高度可配置的自定义Qt等待加载动画组件
开发语言·c++·qt·waitingspinner
qeen879 小时前
【数据结构】树的基本概念及存储
c语言·数据结构·c++·学习·
刀法如飞10 小时前
【合并已排序数组的三种实现策略,哪一种更可取?】
算法·程序员
王老师青少年编程10 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【区间贪心】:种树
c++·算法·贪心·csp·信奥赛·区间贪心·种树