Random 具有一定概率的搜索数组元素的奇数或偶数C++代码或算法
针对以下情况给出一个随机算法; 您希望搜索数组N大小的元素。您希望采用的策略如下:;生成1,N范围内的随机数,如果该数字为奇数,则以1/3的概率在该位置搜索,否则以2/3的概率搜索。如果找不到号码,请尝试N/2次,返回-1 我写了这段代码,但我很确定我没有给出一个随机数是错的Random 具有一定概率的搜索数组元素的奇数或偶数C++代码或算法,random,Random,针对以下情况给出一个随机算法; 您希望搜索数组N大小的元素。您希望采用的策略如下:;生成1,N范围内的随机数,如果该数字为奇数,则以1/3的概率在该位置搜索,否则以2/3的概率搜索。如果找不到号码,请尝试N/2次,返回-1 我写了这段代码,但我很确定我没有给出一个随机数是错的 #include <iostream> using namespace std; int main() { int i; int numb; int p; cout<<"Enter a si
#include <iostream>
using namespace std;
int main()
{
int i;
int numb;
int p;
cout<<"Enter a size of array"<<endl;
cin>>i;
int Search_Array[i];
for(int j=0; j<i;j++)
{
Search_Array[j]=j;
}
cout<<"enter a number to search"<<endl;
cin>>numb;
if(numb%2==0)
{
p=i*(0.6);
cout<<"value of p"<<endl<<p<<endl;
}
else
{
p=i*(0.3);
}
while(p>0)
{
if(Search_Array[p]==numb)
{
cout<<endl<<"Search number found at location"<<endl<<p<<endl;
}
p--;
cout<<endl<<p;
}
return 0;
}
我不知道如何用一些概率搜索它,我们将非常感谢您的帮助谢谢lambda-xy-x您的回答非常好,这部分帮助很大
生成一个概率p,如果pI没有看到任何对随机数生成器的调用,那么肯定缺少一些东西。也许你可以看看。正如我提到的,我没有使用任何随机数,我只是想知道如何给数组中的数字添加概率,然后我就可以用这个概率来搜索它。看到我之前给出的链接,它指向。在你使用随机数发生器之前,别忘了初始化它。你能给我一些代码吗?可能吗?我可以提供支持,但我不会解决你的家庭作业。老实说,算法的描述已经不清楚了——到目前为止,我将在该位置的搜索概率解释为1/3,生成一个数字N,生成一个概率p,如果p