我已經給了一個'破解算法'來解決。它用於遊戲「猜測1-100之間的數字」計算機在7個問題/迭代內回答。猜數字遊戲
我給出的簡述表明只需對算法進行微小的更改,如果含糊不清,我就會想到同樣的事情。
無論如何,算法充滿了我已經清理過的愚蠢的錯誤。對於33的測試案例,該算法分配以下中值:
50,25,37,19 < < 19顯然是不正確的。
我知道last_median = current的中位數不在正確的位置。這是一個漫長的一天,如果任何人都可以擺脫這一點,我會很感激。
const int MAX_VALUE = 100;
int current_median = MAX_VALUE /2;
int last_median = 0;
while (true)
{
last_median = current_median;
if(number >= current_median)
{
if(number == current_median)
{
//Check for equality
cout << endl << number << endl;
break;
}
current_median += last_median /2;
}
else if(number <= current_median)
{
if(number == current_median)
{
// Check for equality
cout<<endl<<number<<endl;
break;
}
current_median -= last_median /2;
}
}
歡呼你的時間。哈哈,我寫了「50,25,37,19 << 19顯然是不正確的。」存儲範圍跳出我的身邊。 –