c 如何随机抽取问题

发布于 教育 2024-06-27
10个回答
  1. 匿名用户2024-01-30

    抽 6 张牌,总共 4 6 4096 种可能性。

    让我们来看看有多少机会中彩票。

    如果中了彩票,那么四张牌的模式只能是:

    对于每种模式,我们还将数字分为 4 张牌。

    第一种模式有 4 个!/(3!有 4 种分配方式,每种方式有 6 种!/(3!120种获胜可能性。

    第二种模式有4个!/(2!*2!有 6 种分配方式,每种方式有 6 种!/(2!*2!180种获胜可能性。

    所以总共有4*120+6*180 1560种中奖可能性。

    所以获胜的概率大约是:1560 4096。

    P.S. C++模拟程序,结果非常接近!

    int main()

    int n = 1000000; //test countint c = 0;

    for ( int i = 0; i < n; i++int a[4] = ;

    for ( int k = 0; k < 6; k++a[rand() 4]++

    bool good = true;

    for ( int k = 0; k < 4; k++if ( a[k] == 0 )

    good = false;

    break;

    if ( good )

    c++;cout <

  2. 匿名用户2024-01-29

    生成作用域内的随机数。 使用 if 语句输出具有不同随机数或随机数范围的相应问题。

  3. 匿名用户2024-01-28

    例如,现在有 100 个问题,必须抽出 10 个问题。

    首先,创建一个问题的索引数组,idxarr =

    然后使用随机数生成函数 rand() 生成一个从 0 到 99 的随机数,并将索引数组中索引的值与数组中的最后一个值交换,例如,如果生成的随机数为 2,则将索引数组更改为 idxarr=

    然后生成一个从 0 到 98 的随机数,并将索引数组中索引的值与数组中的倒数第二个值交换,例如,这次生成的随机数为 4,然后将索引数组修改为 idxarr=

    等等。 执行 10 次,最终索引数组中的最后 10 个值是抽取问题的索引号。

    如果有什么不明白的地方,可以再问我。

  4. 匿名用户2024-01-27

    源程序**和算法解释如下

    生成 1-10 个随机数程序:

    #include

    #include

    using namespace std;

    int main()

    定义要存储的随机数数组。

    srand((unsigned)time(null));初始化随机函数。

    number[0] = rand() n;第一个随机数不需要比较。

    cout

    if (j == (i - 1)) 如果遍历完成,则弹出。

    break;

    j++;cout

    程序结果如下:

  5. 匿名用户2024-01-26

    C 语言有自己的随机数函数 rand()。

    原型是: int rand();

    该函数是获取一个随机整数。

    头文件是。

    可以编写一个提取 10 个随机数并输出它们的程序。

    #include

    #include

    int main()

    在应用程序中,所需的随机数通常是一个范围,例如,当您要随机生成一组有效的整数分数时,实际上需要生成一组 [0,100] 随机整数。 这可以通过取余数(模除法)来实现。

    对于 a%b 的值,结果范围介于 [0,b-1] 之间。 根据这个原理,如果想得到一个[a,b]范围内的随机整数,可以先找到[0,b-a]范围内的随机数,然后在结果中加a。

    即 rand()%b-a+1) +a

    因此,在前面**的基础上,可以编写提取10个随机数的程序,其值在[0,100]范围内。

    #include

    #include

    int main()

    值得注意的是,C提供的兰德函数是一个伪随机数,如果不做其他事情,则每次运行程序时得到的随机数序列。 为了解决这个问题,C 语言还定义了 srand 库函数,用于为随机数提供种子以获得不确定的随机初始值。

    srand 需要一个 int 参数,该参数更常用于 time(null) 来获取当前的微秒数。

    所以有一个完整的操作来设置随机数种子。

    srand(time(null));

    需要引入时间函数来声明。

    srand 函数需要在第一次调用 rand 之前调用,以便最终将 [0,100] 之间的 10 个随机整数输出的程序修改为。

    #include

    #include

    include 添加 time 函数的头文件。

    int main()

  6. 匿名用户2024-01-25

    这可以通过标准 C 来实现。

    头文件中包含了两个需要使用的函数,分别是 void rand ( unsigned int seed ); 设置随机化种子。

    int rand ( void );生成一个介于 0 和 rand max 之间的随机数,其中 rand max 是定义的数字。

    事实上,这两个函数的实现都会产生假的随机数,所以随机性的真实实现也需要使用函数 time()。

    生成一个介于 0-9 之间的随机数。

    #include

    #include

    #include

    int random()

  7. 匿名用户2024-01-24

    这是一个**,你看。

    int x,y,i,t;

    int a[100];

    for(i=0;i<100;i++)

    a[i]=i+1;

    for(i=0;i<100;我++)这里的子交易所越多,A就越混乱。

    while(x!=y);

    t=a[x];交换下标 A xy 对应的数据。

    a[x]=a[y];

    a[y]=t;

    最后,删除与 a[0] 和 a[9] 对应的问题。

    其余的应该不难。

  8. 匿名用户2024-01-23

    使用 int rand() 函数生成一个随机数,然后根据随机数读取问题编号。

  9. 匿名用户2024-01-22

    int c;

    c=rand()%90+10;

    rand() 是介于 0 和 32767 之间的随机数。

    90 将随机生成数字 0-89,+10 将变为 10-99。

  10. 匿名用户2024-01-21

    文件--- 创建一个新的---项目---选择要创建工程文档的项目,然后创建一个工作项目。

相关回答
5个回答2024-06-27

简单地说,使用 srand(unsigned int

该函数设置种子,然后使用 rand() 返回一个随机数。 c C++ 中的随机数不是真随机数,而是伪随机数。 >>>More

11个回答2024-06-27

模块 1 中的主题是随机选择的。

科目 1 考试。 >>>More

8个回答2024-06-27

如果你不重复,我会给你一个更经典的**。

int a[35]; >>>More

14个回答2024-06-27

1.随机类的下一个方法,在两个整数之间生成一个随机数。 语法格式为: >>>More

15个回答2024-06-27

我也是学生,我很懒,还没有学会如何编写导入的声音,但这里是前三个功能。 >>>More