黑马程序员技术交流社区

标题: 据说有小伙伴面试的时候做到这个题了 各位进来试试水吧 [打印本页]

作者: coding_wang    时间: 2015-9-8 23:37
标题: 据说有小伙伴面试的时候做到这个题了 各位进来试试水吧
就是那个 疯狂猜数字  ( 0 - 1000 )

十次输入机会
要求每次输入后提示 猜对 太大 太小
每次猜之前 提示这次的猜测范围

大家准备怎么写?



作者: 408205555    时间: 2015-9-9 11:54
折半查找啊。这么简单还问啊,视频里都有的
作者: coding_wang    时间: 2015-9-9 23:10
408205555 发表于 2015-9-9 11:54
折半查找啊。这么简单还问啊,视频里都有的

我是在请教你怎么做么??看好标题再回复好嘛??
作者: 65006636    时间: 2015-9-13 20:53
本帖最后由 65006636 于 2015-9-13 20:56 编辑
408205555 发表于 2015-9-9 11:54
折半查找啊。这么简单还问啊,视频里都有的

。。。这不用二分查找的,你有认真看视频么。。。简单的while和if就可以了,二分查找是针对有序集合的,骚年。
作者: 贤90    时间: 2015-9-14 11:26
这个基础视频里有
作者: Judyisapunk    时间: 2015-9-14 12:57
说折半查找的肯定没认真看视频
作者: wangjunling888    时间: 2015-9-14 13:01
没有看懂题目,呵呵,我看视频时怎么没有遇到呢?
作者: 淡忘、悲年华    时间: 2015-9-14 14:07
我们昨天才学的    (但是十次输入机会不知道怎么去实现,大神们,帮忙想想)
/*
猜数小游戏.   1~100
*/
import java.util.Scanner;
class Demo_GuessNum {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个整数,范围在1~1000之间");
                int guessNum = (int)(Math.random()*1000)+1;
                while (true) {
                        int result = sc.nextInt();
                        if (result>guessNum) {
                                System.out.println("大了");
                        }
                        else if (result<guessNum) {
                                System.out.println("小了");
                        }
                        else {
                                System.out.println("中了");
                                break;
                        }
                }
                System.out.println();
        }
}


作者: wx_s1oSwEOC    时间: 2015-9-14 14:13
折半思想
作者: lele51131465    时间: 2015-9-14 14:41
二分法啊,这么简单,视频里也是有的
作者: bowenfei    时间: 2015-9-14 18:00
话说基础视频里确实有。。。
作者: zq110105    时间: 2015-9-14 22:10
int main(int argc, const char * argv[]) {
    @autoreleasepool {
//        NSMutableString *str = @[@123,    @"abv"];
//        NSLog(@"%@",str);
         int i = arc4random()%100;
        
        int j=-1;
        int count=0;
        while (i!=j&&count<=10) {
            scanf("%d",&j);
            if (j<i) {
                NSLog(@"<");
            }else if(j>i){
                NSLog(@">");
            }else NSLog(@"==");
            count++;
            if(count>10){
                NSLog(@"out");
                return 0;
            }
            
        }
        NSLog(@"初始化得数为:  %d    惨重的数字为:  %d",i,j);
      
        
    }
    return 0;
}
我是这么写的,lz可以看看
作者: Music_棍棍    时间: 2015-9-14 22:10
这个  考虑考虑




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2