请教一道PASCAL编程基础题怎么做.

来源:百度知道 编辑:UC知道 时间:2024/07/02 13:56:54
编写一个猜数字的程序,你想一个1000以内的自然数,程序运行后计算机给出它猜的数,你根据这个数键盘输入相应字符,告诉它大了(输入G)或小了(输入L)或对了(输入R),只要你都是用一个数作为标准并且输入正确,计算机10次以内肯定能猜出你所想的数。
谢谢!
用分治法怎么做???还是用其他方法?

2分查找.
var ch:char;
n,x,y:longint;

begin
n:=500;writeln(n);x:=1;y:=1000;
readln(ch);
while ch<>'R' do
begin
if ch='G'
then begin y:=n-1;n:=(x+y)div 2; end
else begin x:=n+1;n:=(x+y)div 2; end;
writeln(n);readln(ch);
end;
end.