c++ 随机整数问题,请大神指点!

c++ 随机整数问题,请大神指点!
请尽量详尽注释说明。谢谢!
写一个完整的C++程序,在范围[5, 100 ]中生成一个随机整数,然后打印所有以递减顺序生成的随机数的除数。您必须包括所有所需的包含和命名空间

2个回答

纯C++风格

#include <iostream>
#include <random>
#include <chrono>
#include <functional>


int main(){
    //根据当前时间生成随机数种子
    long seed = std::chrono::high_resolution_clock::now().time_since_epoch().count();
    //绑定一个随机数产生器,生成5-100之间的整数
    auto rand = std::bind(std::uniform_int_distribution<int>(5,100),std::mt19937_64(seed));
    //保存一个生成的随机数
    int random_number = rand();

    std::cout<<random_number<<std::endl;
    //由大到小遍历,找能被random_number 整除的数,即为该数的因子
    for (int i = random_number; i >=1 ; i--) {
        if (random_number % i == 0) {
            std::cout<<i<<std::endl;
        }
    }
    return 0;
}

littlejade1214
毛线一团 大神好厉害。
一年多之前 回复
 #include<ctime>
#include<cstdlib>
#include<iostream>
using namespace std;
int main()
{
    srand(time(NULL));
    int n = rand() % 96 + 5;//随机生成5-100的整数 
    for ( int i = n ; i >= 1 ; i-- )//大到小枚举所有因子 
        if ( n % i == 0 ) cout << i << endl;
    return 0;
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问