在C++中生成特定范围内的随机均匀可分数?

Lev*_*ter -1 c++ random

我正在为五年级学生制作一个Flashcard课程来练习他们的数学技能.每当他们到达程序的分区部分时,它就不会生成可分的数字.我生成了两个这样的数字:

    int divisor_one = 1+rand()%5 * 2;
    int divisor_two = 1+rand()%5 * 2;
Run Code Online (Sandbox Code Playgroud)

我想通过乘以2,它只给出偶数,但我错了.它生成一个5,如下所示.

    ********************************
          Division Flashcards
    ********************************
                  3
                  5
              _____
Run Code Online (Sandbox Code Playgroud)

显然,这两个数字不是可分的.如何生成随机均匀的可分数

Jac*_*des 6

这就是我的想法:

int divisor_one = 1+rand()%5 * 2;
int result = 1+rand()%5 * 2;
int divsor_two = divisor_one * result;
Run Code Online (Sandbox Code Playgroud)

这样你就可以确保结果始终是无论因素是什么的均匀产物.