以下是我的第二种写法,用空间换了点时间,用C++语言写的:
1. include
1. include
using namespace std;
class Rand4{
private:
int a[10];
int getNum(int index){
while(a[index]==-1){
++index;
index %= 10;
}
int ret = a[index];
a[index] = -1;
return ret;
};
void init(){
for(int i=0;i<10;++i){
a[i] = i;
}
};
public:
int Next(){
init();
int ret = (rand()%10) 1000;
int index = 100;
int time = 3;
while(time>0){
ret += getNum((rand()%10))index;
index /= 10;
--time;
}
return ret;
};
};
int main(int argc, char argv[])
{
Rand4 r4;
cout<
cout<
cout<
system("PAUSE");
return 0;
}
此法的时间复杂度为正宗的O(n),空间开销(不包含调用库函数的)就比前一个例子多了些.
此法在n取m的随机计算中,m从0一直到趋于n, 效率都是不变的.
其他的高效方法暂时还没有想出.
2020年河北新闻网两学一做
时间:2023-09-18 07:0:242020年河北新闻网两学一做
时间:2023-09-15 11:0:59两学一做学习教育知
时间:2023-09-21 06:0:302020年开展两学一做学习教
时间:2023-09-19 21:0:30
2019最新南方电网笔试题和面试题答案2023-09-18 19:32:12
2019年全国计算机等级考试二级C语言笔试题和面试题答案2023-09-14 14:06:03
陕西国际商贸学院在重庆高考专业招生计划(人数+代码)2025-05-22 10:38:12
安徽建筑大学和新余学院哪个好 分数线排名对比2025-05-22 10:36:54
襄阳职业技术学院广西录取分数线及招生人数 附-2020最低位次排名2025-05-22 10:35:29
长江大学和新疆师范大学哪个好 分数线排名对比2025-05-22 10:34:16
锦州师范高等专科学校在辽宁高考专业招生计划(人数+代码)2025-05-22 10:32:49
山东高考排名在17550的考生能报什么大学(原创)2025-05-22 10:31:33
广州华立学院的英语专业分数线(附2020-最低分排名怎么样)2025-05-22 10:30:14
兰州石化职业技术大学的理化测试与质检技术专业分数线(附2020-最低分排名怎么样)2025-05-22 10:29:06
泉州师范学院和亳州学院哪个好 分数线排名对比2025-05-22 10:27:53
贵州医科大学在江西高考专业招生计划(人数+代码)2025-05-22 10:26:23
东莞城市学院和西安工商学院哪个好 分数线排名对比2025-05-22 10:24:51
山东海事职业学院的水路运输安全管理专业分数线(附2020-最低分排名怎么样)2025-05-22 10:23:44 


