иначе сообщать, что число угадано и прерывать выполнение цикла,
увеличивать счетчик попыток на единицу.
После цикла, если число не было угадано, то вывести сообщение о том, что попытки исчерпаны, и какое число было загадано компьютером.
Самый верный способ отгадать число менее чем за 10 попыток - это делить диапазон на 2. Например, если число лежит в пределах от 0 до 100, то введя 50 мы сразу сокращаем диапазон поиска в два раза. Если было сказано, что загаданное число меньше 50-ти, то вводим 25 и таким образом снова сокращаем диапазон в 2 раза.
Если следовать этому правилу то потребуется 6-7 попыток, т.к. число 100 (изначальная длина диапазона) лежит в пределах между 26 и 27.
1 votes Thanks 0
burenkoira
мне нужно это прописать в с++ , то есть прокомпелировать)
Answers & Comments
Сгенерировать случайное число.
Ввести счетчик попыток. Присвоить ему значение 1.
Пока счетчик попыток меньше, либо равен 10
запрашивать у пользователя очередное число,
если оно больше загаданного, то выводить "много",
если оно меньше загаданного, то выводить "мало",
иначе сообщать, что число угадано и прерывать выполнение цикла,
увеличивать счетчик попыток на единицу.
После цикла, если число не было угадано, то вывести сообщение о том, что попытки исчерпаны, и какое число было загадано компьютером.
Самый верный способ отгадать число менее чем за 10 попыток - это делить диапазон на 2. Например, если число лежит в пределах от 0 до 100, то введя 50 мы сразу сокращаем диапазон поиска в два раза. Если было сказано, что загаданное число меньше 50-ти, то вводим 25 и таким образом снова сокращаем диапазон в 2 раза.
Если следовать этому правилу то потребуется 6-7 попыток, т.к. число 100 (изначальная длина диапазона) лежит в пределах между 26 и 27.
using namespace std;
int main()
/*
{
setlocale(LC_ALL, "Russian");
int num = 100;
(num % 100);
int j = 0;
int num2 = 0;
while (num2 != num)
{
++j;
cout << "Введите число: ";
cin >> num2;
if (num < num2)
{
cout << "Слишком большое число!" << endl;
}
else if (num > num2)
{
cout << "Слишком маленькое число!" << endl;
}
}
cout << endl << "Вы угадали число! c " << j << " попыток!" << endl;
return 0;
}