不相邻随机数问题

rockersz 2013-10-26 12:18:24
请教高手:在c语言中,如何生成10个范围在0-5000的不相邻随机整数,所谓不相邻指的是生成的任意两个随机数之差的绝对值要大于1 ,最好有源码。
...全文
392 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
modyaj 2013-10-26
  • 打赏
  • 举报
回复
每次生成随机数的时候 判断与前一个数的绝对值是否大于1 大于就加入记录表 不大于就直接丢弃 重新获取随机数
max_min_ 2013-10-26
  • 打赏
  • 举报
回复
多一次判断条件再取一次随机数就好了!
lm_whales 2013-10-26
  • 打赏
  • 举报
回复
只有10个用排除法也可以。 或者,每次把选取的数据,相邻的数据抽去,再随机抽取。
rockersz 2013-10-26
  • 打赏
  • 举报
回复
to wangliangffaflgh: 先谢谢你的回复, 这个算法能保证一定不相邻吗》
测试NULL 2013-10-26
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int myrandom()
{
        srand(time(NULL));
        return (rand() % 100) + (rand() % 50);
}

int main(void)
{
        int i;
        for(i=1; i<=10; i++)
        {
                printf("%d\n", (i *  myrandom()) + (i+ myrandom()));
        }
        return 0;
}

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧