怎么打乱数字
例如:
5个1,3个2
打乱后:
1211112
怎么用c++实现?
求回复!
2条回答 默认 最新
关注【以下回答由 GPT 生成】
#include <iostream> #include <vector> #include <algorithm> #include <random> int main() { std::vector<int> numbers; int count1 = 5; // 5个1 int count2 = 3; // 3个2 // 添加5个1和3个2到numbers中 for (int i = 0; i < count1; i++) { numbers.push_back(1); } for (int i = 0; i < count2; i++) { numbers.push_back(2); } // 对numbers进行随机打乱 std::random_device rd; std::mt19937 g(rd()); std::shuffle(numbers.begin(), numbers.end(), g); // 输出打乱后的结果 for (int i = 0; i < numbers.size(); i++) { std::cout << numbers[i]; } return 0; }这段代码会创建一个包含5个1和3个2的vector,并使用random_shuffle函数来随机打乱vector中的元素。
【相关推荐】
- 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7621379
- 这篇博客也不错, 你可以看下c++ 编写一个递归函数,将输入的整数按照它的逆序输出,如输入12345,输出54321
- 您还可以看一下 李国政老师的c/c++基础学习实战课程中的 5-5、二维数组初始化小节, 巩固相关知识点
- 除此之外, 这篇博客: 【C++从入门到熟练练习题】005 表达式与运算符优先级中的 3.常见表达式 部分也许能够解决你的问题。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^评论 打赏 举报解决 1无用