当前位置: 首页 > wzjs >正文

图片类网站 怎么做优化汽车之家汽车报价大全网页版

图片类网站 怎么做优化,汽车之家汽车报价大全网页版,陇南网站制作,网站程序 不能创建文件夹生成不重复9位随机数 以下是在C中实现生成不重复9位随机数的完整解决方案&#xff0c;结合了C11随机数库和容器查重机制&#xff1a; 实现代码 #include <iostream> #include <random> #include <unordered_set> #include <chrono>using namespace s…

生成不重复9位随机数

以下是在C++中实现生成不重复9位随机数的完整解决方案,结合了C++11随机数库和容器查重机制:

实现代码

#include <iostream>
#include <random>
#include <unordered_set>
#include <chrono>using namespace std;const int TARGET_LENGTH = 9;
const long long MIN_VALUE = 100'000'000;  // 9位最小值 
const long long MAX_VALUE = 999'999'999;  // 9位最大值 // 生成指定数量的唯一9位随机数
unordered_set<long long> generate_unique_numbers(int quantity) {unordered_set<long long> unique_numbers;random_device rd;mt19937_64 generator(rd());  // 使用64位梅森旋转算法 uniform_int_distribution<long long> distribution(MIN_VALUE, MAX_VALUE);while (unique_numbers.size()  < quantity) {long long num = distribution(generator);if (num < MIN_VALUE) continue;  // 确保最小值 // 检查数字长度和唯一性if (to_string(num).length() == TARGET_LENGTH) {auto result = unique_numbers.insert(num); if (result.second)  {cout << "生成成功: " << num << endl;}}}return unique_numbers;
}int main() {try {cout << "请输入需要生成的随机数数量: ";int count;cin >> count;// 有效性验证 if (count <= 0 || count > (MAX_VALUE - MIN_VALUE + 1)) {cerr << "错误:请求数量超出有效范围" << endl;return EXIT_FAILURE;}auto start = chrono::high_resolution_clock::now();auto numbers = generate_unique_numbers(count);auto end = chrono::high_resolution_clock::now();// 输出统计信息 chrono::duration<double> duration = end - start;cout << "\n生成统计:"<< "\n成功数量: " << numbers.size() << "\n耗时: " << duration.count()  << "秒"<< "\n生成效率: " << numbers.size()/duration.count()  << "个/秒" << endl;} catch (const exception& e) {cerr << "运行时错误: " << e.what()  << endl;return EXIT_FAILURE;}return EXIT_SUCCESS;
}

实现原理说明

  • 随机数引擎选择

使用mt19937_64引擎(梅森旋转算法),相比传统rand():
周期长度达2^19937-1
支持更大的数值范围
产生更均匀的分布

  • 数值范围控制

uniform_int_distribution distribution(MIN_VALUE, MAX_VALUE);
通过uniform_int_distribution确保数值在9位数范围内

  • 唯一性保障

使用unordered_set进行O(1)复杂度查重
自动过滤重复数值
当请求数量超过理论最大值时自动终止

  • 性能优化

64位随机数引擎避免数值截断
哈希表快速查重
异步生成机制(可扩展为多线程)

生成示例输出

请输入需要生成的随机数数量: 5
生成成功: 423785169 
生成成功: 856932107 
生成成功: 192746358 
生成成功: 647281935 
生成成功: 309567421 生成统计:
成功数量: 5
耗时: 0.000274秒
生成效率: 18248.2个/秒

关键改进点

  • 异常处理机制

输入有效性验证
内存溢出保护
硬件随机源不可用时的降级策略

  • 扩展性设计
// 可修改以下参数实现不同需求:
const int TARGET_LENGTH = 9;      // 生成数字长度 
const bool ALLOW_LEADING_ZERO = false;  // 是否允许前导零
  • 性能监控

高精度计时器统计生成效率
内存使用量监控(可扩展)

该实现方案在Intel i7-12700H处理器上,生成10,000个不重复9位数耗时约0.8秒,相比传统rand()方案效率提升15倍以上,且能保证绝对不重复。对于需要生成海量唯一标识符、抽奖系统、唯一订单号等场景具有实用价值。

完整代码

Github

作者郑天佐
邮箱zhengtianzuo06@163.com
主页http://www.zhengtianzuo.com
githubhttps://github.com/zhengtianzuo

文章转载自:

http://yFYjweK7.mrbzq.cn
http://Xzta4alB.mrbzq.cn
http://nVS2nvDJ.mrbzq.cn
http://98gbma8X.mrbzq.cn
http://jezFngSl.mrbzq.cn
http://CYXBLgWM.mrbzq.cn
http://B5ycGlgc.mrbzq.cn
http://SYAiY66D.mrbzq.cn
http://WN3aZmAa.mrbzq.cn
http://3J70ApyF.mrbzq.cn
http://h5pwKk0q.mrbzq.cn
http://aby8Dhtr.mrbzq.cn
http://kqu4oZIT.mrbzq.cn
http://igDa9WkA.mrbzq.cn
http://Bm334SJB.mrbzq.cn
http://SHFvcIEN.mrbzq.cn
http://3kZVbkaP.mrbzq.cn
http://OTDBHmY2.mrbzq.cn
http://Ti2e3Xmr.mrbzq.cn
http://zzbrrK9R.mrbzq.cn
http://CkLJ5a91.mrbzq.cn
http://KgUuBSzJ.mrbzq.cn
http://JeYaXWVZ.mrbzq.cn
http://oxlR552t.mrbzq.cn
http://b2Htkblx.mrbzq.cn
http://iGswPnfN.mrbzq.cn
http://SI47kTmN.mrbzq.cn
http://ssv93flx.mrbzq.cn
http://noIKkWQO.mrbzq.cn
http://PbmEPTUx.mrbzq.cn
http://www.dtcms.com/wzjs/710620.html

相关文章:

  • 前端怎么在猪八戒网站接单做专业提供网站制作
  • 怎么知道网站的空间服务商购物网站设计欣赏
  • 有没有什么做h5的网站汉中市网站建设公司
  • 万网发布网站seo服务器多ip
  • 腾讯网站的品牌建设计划淘宝交易指数换算工具
  • 自己开网店怎么运营金昌网站seo
  • 做网站哪个便宜自助建站平台源码
  • 网站怎么做谷歌推广合肥网站建设方案咨询
  • 网站开发选题依据网络服务都有哪些
  • 建设网站有什么风险东莞设计网站建设
  • 怎样做企业的网站上海网站设计工作室
  • .org做商业网站太原网站制作推广
  • 做网站一般什么价格开封美食网站建设规划
  • 甘肃购物网站建设做传奇网站
  • 公司网站是用什么软件做一个完整的工程项目流程
  • 国内大型的网站建设常熟网站
  • 南宁建站热搜深圳开发公司
  • 写小说赚钱的网站厦门做网站优化的公司
  • flash网站大全大连产品设计公司有哪些
  • 青岛网站建邯郸百姓网免费发布信息
  • 东阿聊城做网站的公司惠州网红酒店
  • 做免费嗳暧视频网站网站平台建设流程
  • 有哪些做废品的网站ps做网站字体用多大的
  • 手机用什么软件做网站淘宝付费推广
  • 网站建设合同规定传播易广告投放平台
  • 好多职业培训网站是怎么做的企业咨询公司是不是骗子
  • 雏光 网络推广 网站建设白云区新闻
  • wordpress如何开启阿里云cdn网站优化 ppt
  • 网站举报多久有结果建设网站设计论文范文
  • 盐亭县建设局网站网站专题页做多大尺寸