gd6179
gd6179
2018-07-01 12:31
采纳率: 100%
浏览 799

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • zwzwzwzwzxt
    繁宵微梦 2018-07-01 12:48
    已采纳

    纯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;
    }
    
    
    点赞 评论
  • qq_39890906
    qq_39890906 2018-07-11 07:22
     #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;
    }
    
    点赞 评论

相关推荐