"Угадай Число", где угадывает компьютер - C#
Формулировка задачи:
Привет, у меня проблема. По идее, все предельно просто и поиск загаданного числа осуществляется с помощью метода Хартли, но я не могу понять, как его написать. Помогите, пожалуйста:-)
Решение задачи: «"Угадай Число", где угадывает компьютер»
textual
Листинг программы
using System;
namespace NumberPredict
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Загадайте число от 1 до 99. Посоле, нажмите Enter.");
Console.ReadKey();
int n = 50, half = 25, i = 1, ch;
try
{
while (true)
{
Console.WriteLine("Введите 1, если ваше число больше " + n);
Console.WriteLine("Введите 2, если ваше число меньше " + n);
Console.WriteLine("Введите 0, если ваше число равно " + n);
Console.Write("Ваш выбор: ");
ch = Convert.ToInt32(Console.ReadLine());
if (ch == 0)
{
Console.WriteLine("Ваше число: " + n + ". Понадобилось: " + i + " попыток");
break;
}
else if (ch == 1)
{
n = n + half;
i++;
half = half / 2 + 1;
}
else if (ch == 2)
{
n = n - half;
i++;
half = half / 2;
}
else
{
throw new Exception();
}
if (n > 100 || n < 1)
{
Console.WriteLine("Не удалось угадать число!");
break;
}
}
}
catch (Exception)
{
Console.WriteLine("Ошибка!");
}
Console.ReadKey();
}
}
}