搜索
查看: 440|回复: 6
打印 上一主题 下一主题

如何随机生成一个 1 到 2千万 的数

[复制链接]
跳转到指定楼层
楼主
发表于 2018-4-14 17:23:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
        int a;

    srand((unsigned)time(NULL)*1000);
    a=rand()*663455346843%20000000;
    printf("%d\n",a);


        system("pause");
        return 0;
}

请问这样写可以不?我想知道标准答案,不要用太复杂的函数,这一章以内学过的

最佳答案

查看完整内容

最高位在0-1之间选数,其他位在0-9之间选数,这样合并起来是0-19999999,再加1就对啦
楼主新帖
楼主热帖
沙发
发表于 2018-4-14 17:23:55 | 只看该作者
最高位在0-1之间选数,其他位在0-9之间选数,这样合并起来是0-19999999,再加1就对啦

点评

你如果不懂可以问  发表于 2018-4-14 18:25
板凳
发表于 2018-4-14 18:23:08 | 只看该作者
随机生成每一位,然后合并成一个数
地板
发表于 2018-4-14 18:23:48 | 只看该作者
你这样会有空位,有的数生成不了
5#
发表于 2018-4-15 13:21:48 | 只看该作者
#include <time.h>

int a;
srand((unsigned)time(NULL));
a  =  rand( )*100;
6#
发表于 2018-4-24 21:54:49 | 只看该作者
#include <time.h>       
srand((unsigned) time(0));
int a=rand()%5,e;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表