随机函数的问题
2014-04-18 10:38
127 查看
题目:设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。
解析:要在圆内随机选择一个点,那么选择这个点的概率一定是1/πR^2,
应该用两次随机变化:
这个使用数学中的极坐标来解决,先调用[s1,t1]随机产生一个数r,归一化后乘以半径,得到R*(r-s1)/(t1-s1);
然后在调用[s2,t2]随机产生一个数a,归一化后得到角度 2π *(a-s2)/(t2-s2)
题目:
下面的程序可以从1....n中随机输出m个不重复的数
knuth(int n, int m)
{
srand((unsigned int)time(0));
for (int i=0; i<n; i++)
{
if ( )
{
cout<<i<<endl;
;
}
}
}1、rand()%(n-i) < m
2、m--
解析:要在圆内随机选择一个点,那么选择这个点的概率一定是1/πR^2,
应该用两次随机变化:
这个使用数学中的极坐标来解决,先调用[s1,t1]随机产生一个数r,归一化后乘以半径,得到R*(r-s1)/(t1-s1);
然后在调用[s2,t2]随机产生一个数a,归一化后得到角度 2π *(a-s2)/(t2-s2)
题目:
下面的程序可以从1....n中随机输出m个不重复的数
knuth(int n, int m)
{
srand((unsigned int)time(0));
for (int i=0; i<n; i++)
{
if ( )
{
cout<<i<<endl;
;
}
}
}1、rand()%(n-i) < m
2、m--
相关文章推荐
- C中随机函数rand()使用时要注意的问题
- 随机函数种子数设定问题
- 【转载】随机函数生成问题
- 概率与随机函数问题
- 概率与随机函数问题
- matlab随机函数rand使用中应注意的问题
- 构造随机函数的问题
- C语言 — 解决随机函数产生相同数字的问题
- object标签使用pdf插件打开中文文件的问题
- 谈谈经验值的问题
- getYear引发的一个小问题
- .NET 中使用框架时Session 为空的问题!待解!
- web常见问题
- 用Java解决国际化问题
- 又修复了用友A6 2.75的一个问题
- 一个我上传的文件,不能解压的问题!
- 关于Dreamweaver乱码问题的解决方案
- 使用FCKeditor_2.6.3版本有关上传图片问题解决
- 用VS2008 制作C#项目安装包的问题
- memo显示问题