Write a C++ program that asks the user to choose a number
between 1 and 1000. Then,
your program should be able to guess the number by asking
the user no more than 10 yes/no
questions. Use a while loop in your program
Answer / i4o
Instead of giving the full program the expectation of this question could be logical skills or applying heuristics in deducing the given problem domain (1-1000) in to smaller pieces. The decision tree could be like whether the number could be even or odd thus eliminating 50% then based on number of digits etc. But it expects to use while loop. So it should be solved mathematically. The following snippet (C#) uses the something similar to binary search (Cutting the problem domain exactly by half each time) and any number could be cracked with 10 questions.
static void Main(string[] args)
{
int low = 1, high = 1000;
int mean;
string userresponse;
while (low != high)
{
mean = (low + high) / 2;
Console.WriteLine("Is the number between {0} & {1}", low, mean);
userresponse = Console.ReadLine();
if (userresponse.CompareTo("y") == 0)
{
high = mean;
}
else
{
low = mean+1;
}
}
Console.Write("You Guessed : {0}", low);
Console.Read();
}
| Is This Answer Correct ? | 4 Yes | 0 No |
write a C++ programming :if the no is between 32 to 50 it will be odd.
Evaluate the following expression as C++ would do :8 * 9 + 2 * 5 a) 82 b) 79 c) 370 d) list
How to allocate memory dynamically for a reference?
Who made c++?
The "virtual" specifier in a member function enables which one of the following? a) Monmorphism b) Late binding c) Metamorphism d) Solomorphism e) Inheritance
What are separators in c++?
What is private public protected in c++?
how to access grid view row?
Why Pointers are not used in C++?
How do you save a c++ program?
What are containers in c++?
Describe friend function & its advantages.