二分法
实例:看商品猜价格
首先出示一件价格在999元以内的商品,参与者要猜出商品的价格。在猜价格的过程中,裁判会更加参与者给出的价格,相应给出“高了”或者“低了”的提示。
表1-1 二分法猜商品价格(640)
次数 | 价格区间 | 中间值 |
第1次 | 0~999 | 500 |
第2次 | 500~999 | 750 |
第3次 | 500~750 | 620 |
第4次 | 620~750 | 680 |
第5次 | 620~680 | 650 |
第6次 | 620~650 | 630 |
第7次 | 630~650 | 640 |
//0~999 猜价格 Console.WriteLine("请输入商品价格:"); int commoditPrices =Convert.ToInt16( Console.ReadLine()); Console.WriteLine("参与者:"); int prices=Convert.ToInt16( Console.ReadLine()); int i=1; while (true) { i++; if (prices<commoditPrices) { Console.WriteLine("低了"); Console.WriteLine("参与者:"); prices = Convert.ToInt16(Console.ReadLine()); } else if (prices>commoditPrices) { Console.WriteLine("高了"); Console.WriteLine("参与者:"); prices = Convert.ToInt16(Console.ReadLine()); } else { Console.WriteLine("恭喜你,猜对了,总共猜了{0}次。",i); break; } } Console.ReadKey();