Пользователь задумывает целое число в диапазоне от 1 до 1000.Компьютер может задавать пользователю вопросы вида : "Ваше число больше М?",на которые человек должен ответить либо"да",либо "нет",вводя,соответсвенно,1 или 0.Составь...

Пользователь задумывает целое число в диапазоне от 1 до 1000.Компьютер может задавать пользователю вопросы вида : "Ваше число больше М?",на которые человек должен ответить либо"да",либо "нет",вводя,соответсвенно,1 или 0.Составьте программу ,которая позволит компьютеру отгадать число,задуманное пользователем за наименьшее количество вопросов.(Пожалуйста, программу без цикла с параметром и ,если возможно,составьте блок-схему)
Гость
Ответ(ы) на вопрос:
Гость
Var M,n,A:integer; Begin M:=500; n:=500; Repeat WriteLn('0 - меньше ',M,', 1 - больше ',M,', 2 - равно ',M); ReadLn(A); if n mod 2 = 0 then n:=n div 2 else n:=n div 2 +1; if A=1 then M:=M+n else if A=0 then M:=M-n; Until A = 2; End. Пример: (загадано число 499) 0 - меньше 500, 1 - больше 500, 2 - равно 500 0 0 - меньше 250, 1 - больше 250, 2 - равно 250 1 0 - меньше 375, 1 - больше 375, 2 - равно 375 1 0 - меньше 438, 1 - больше 438, 2 - равно 438 1 0 - меньше 470, 1 - больше 470, 2 - равно 470 1 0 - меньше 486, 1 - больше 486, 2 - равно 486 1 0 - меньше 494, 1 - больше 494, 2 - равно 494 1 0 - меньше 498, 1 - больше 498, 2 - равно 498 1 0 - меньше 500, 1 - больше 500, 2 - равно 500 0 0 - меньше 499, 1 - больше 499, 2 - равно 499 2 (загадано число 13) 0 - меньше 500, 1 - больше 500, 2 - равно 500 0 0 - меньше 250, 1 - больше 250, 2 - равно 250 00 0 - меньше 125, 1 - больше 125, 2 - равно 125 0 0 - меньше 62, 1 - больше 62, 2 - равно 62 0 0 - меньше 30, 1 - больше 30, 2 - равно 30 0 0 - меньше 14, 1 - больше 14, 2 - равно 14 0 0 - меньше 6, 1 - больше 6, 2 - равно 6 1 0 - меньше 10, 1 - больше 10, 2 - равно 10 1 0 - меньше 12, 1 - больше 12, 2 - равно 12 1 0 - меньше 13, 1 - больше 13, 2 - равно 13 2 (загадано число 1000) 0 - меньше 500, 1 - больше 500, 2 - равно 500 1 0 - меньше 750, 1 - больше 750, 2 - равно 750 1 0 - меньше 875, 1 - больше 875, 2 - равно 875 1 0 - меньше 938, 1 - больше 938, 2 - равно 938 1 0 - меньше 970, 1 - больше 970, 2 - равно 970 1 0 - меньше 986, 1 - больше 986, 2 - равно 986 1 0 - меньше 994, 1 - больше 994, 2 - равно 994 1 0 - меньше 998, 1 - больше 998, 2 - равно 998 1 0 - меньше 1000, 1 - больше 1000, 2 - равно 1000 2
Не нашли ответ?
Ответить на вопрос
Похожие вопросы