使用二分法完成一个简单的猜商品价格算法

本文介绍如何利用二分查找法设计一个猜商品价格的游戏。通过设定价格范围,玩家每次猜测后,根据提示高价或低价,用二分法进行优化猜测,减少尝试次数,提高游戏效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package cn.kimtian.array.one;

import java.util.Scanner;

/**
 * 题目:出示一个任意价格的商品(在XXX-XXX元内),参与者要猜这件商品的价格,然后会有人给出相应高了或低了的提示,直到猜出这个价格为止
 * 使用二分法来
 *
 * @author kimtian
 */
public class AlgorithmOne {
    public static void main(String[] args) {
        AlgorithmOne algorithmOne = new AlgorithmOne();
        System.out.println("请输入商品的价格,注意输入一个整数哦!");
        Scanner scanner = new Scanner(System.in);
        int price = scanner.nextInt();
        System.out.println("请输入要猜的价格范围,以-分割");
        String range = scanner.next();
        String nums[] = range.split("-");
        //校验分割后的结果只允许为两个值,否则格式不通过
        if (nums.length != 2) {
            System.out.println("价格范围输入错误");
        }
        //比较左右两个值,哪个大哪个为heightPrice,哪个小哪个为lowPrice
        else {
            int num1 = Integer.parseInt(nums[0]);
            int num2 = Integer.parseInt(nums[1]);
            if (num1 > num2) {
                System.out.println(algorithmOne.guessPrice(num2, num
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值