如何生成一定范围内不重复的随机数
1个回答
展开全部
以C为例,给你提供一种参考:
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main(void){
int s[1000],i,k,l;
for(i=0;i<1000;s[i++]=rand()%1000+1000);
srand((unsigned)time(NULL));
for(l=0,i=1000;i>0;i--){
printf(++l%10 ? "%5d" : "%5d\n",s[k=rand()%i]);
s[k]^=s[i-1];
s[i-1]^=s[k];
s[k]^=s[i-1];
}
if(l%10)
printf("\n");
return 0;
}
这个代码能产生1000~1999的“不重复随机数”。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |