实在是无法忍受W10输出数据那么慢W7需要2分钟输出数据W10则需要10分钟完成W7需要3分钟W10则需要15分钟完成输出数据,虽然W10运算速度比W7快很多但是加上输出速度总体完成时间居然差不多!随着使用数组超过百万W7数据输出时间也变长,随着数组数据超百万每运算1万次方历时也变得较长,快速保存每次运算好的数据很有必要,只好再次出手,写提高输出文本速度只能用尾部叠加法不能用插入法和叠加头部法:

void 二的次方数组(_int64* 数, _int64 长, _int64 次)
{_int64 溢 = 0, 序 = 长 - 1, 次方 = 1; std::string wb = "";二的次方数组读取文本("..\\Debug\\回复专用\\", "二次方数据*.txt", 数, 长, 次方);char 时间[128]; _strtime_s(时间, 128); printf("时间:%s 次方%d\n", 时间, 次方);if (次方 == 1)数[序] = 1; else;while (次方 && 序 > -1){if (数[序] > 0){数[序] = 数[序] * 2 + 溢;溢 = 数[序] / 1E+18;数[序] -= 溢*1E+18;if (次方 % 40000 == 0)wb += std::to_string(数[序]) + "\n"; else;--序;}else{数[序] += 溢;if (wb != ""){if (溢> 0)wb += std::to_string(数[序]) + "\n"; else;_strtime_s(时间, 128); printf("时间:%s ", 时间); std::cout << 次方 << " " << 长 - 序;写入文本("..\\Debug\\回复专用\\二次方数据倒序" + std::to_string(次方 + 1) + ".txt", wb/* + std::to_string(序)*/);_strtime_s(时间, 128); printf(":%s数据输出完成。\n", 时间); wb = "";}else;if (++次方 > 次 || 数[0] > 0){_strtime_s(时间, 128); printf("时间:%s ", 时间); std::cout << 次方 << " " << 长 - 序;写入文本("..\\Debug\\回复专用\\二次方数据" + std::to_string(次方) + ".txt", std::to_string(序) + "\n");while (++序 < 长)写入文本("..\\Debug\\回复专用\\二次方数据" + std::to_string(次方) + ".txt", std::to_string(数[序]) + "\n");_strtime_s(时间, 128); printf(":%s数据输出完成。\n", 时间);次方 = 0;}else;if (次方 % 10000 == 0){string 标题 = "VsC++:" + std::to_string(次方) + "编程论坛回复专用=》VsC++:二次方数组1E7。";system(("title " + 标题).data());}else;序 = 长 - 1; 溢 = 0;}}
}
void 二的次方数组读取文本(std::string 路径, std::string 文件名, _int64* 数, _int64 长, _int64& 次方)
{_finddata_t file;std::string newPath = 路径 + 文件名, 读取 = "";_int64 cf = 0; int j = 0, jj = 0;intptr_t HANDLE = _findfirst((路径 + 文件名).c_str(), &file);if (HANDLE == -1L)std::cout << "无法匹配文件夹路径" << std::endl;elsedo{if (file.attrib){newPath = 路径 + file.name;j = newPath.find("数据") + 4;if (newPath.find("倒序") != std::string::npos)j = newPath.find("倒序") + 4;jj = newPath.find(".txt");cf = _atoi64(newPath.substr(j, jj - j).c_str());if (次方 < cf)次方 = cf, 读取 = newPath; else;}else;} while (_findnext(HANDLE, &file) == 0);_findclose(HANDLE);std::string 读 = ""; bool k = (读取.find("倒序") == std::string::npos);int 序 = (k ? 0 : 长 - 1), 位 = 0;std::ifstream 文件(读取);if (!文件.eof()){while (getline(文件, 读))if (k){if (序 == 0)序 = _atoi64(读.c_str());else数[++序] = _atoi64(读.c_str());}else{数[序] = _atoi64(读.c_str());--序;}//if (!k)数[++序] = 0;文件.close();}else;//std::cout << 数[k ? 序 : ++序] << "\t" << 读 << "\n";std::cout << 数[k ? 序 : ++序] << "\t" << 读 << "\t" << 数[长 - 1] << "\n";
}

文本名称的次方数-1为实际次方,内容顺序文件第一行为数组序,倒序结尾无数组序。

void 二的次方数组读取文本(std::string 路径, std::string 文件名, _int64 (*数)[10000000], int 长, _int64& 次方)
{_finddata_t file;std::string newPath = 路径 + 文件名, 读取 = "";_int64 cf = 0; int j = 0, jj = 0;intptr_t HANDLE = _findfirst((路径 + 文件名).c_str(), &file);if (HANDLE == -1L)std::cout << "无法匹配文件夹路径" << std::endl;elsedo{if (file.attrib){newPath = 路径 + file.name;j = newPath.find("数据") + 4;if (newPath.find("倒序") != std::string::npos)j = newPath.find("倒序") + 4;jj = newPath.find(".txt");cf = _atoi64(newPath.substr(j, jj - j).c_str());if (次方 < cf)次方 = cf, 读取 = newPath; else;}else;} while (_findnext(HANDLE, &file) == 0);_findclose(HANDLE);std::string 读 = "";bool k = (读取.find("倒序") == std::string::npos);_int64 序 = (k ? 0 : 长 - 1), 位 = 0, 组 = 0;std::ifstream 文件(读取);if (!文件.eof()){while (getline(文件, 读))if (k){if (序 == 0)序 = _atoi64(读.c_str());else{//if (序 == 长 && 组 < 1)++组, 序 = 长 - 1;数[组][++序] = _atoi64(读.c_str());}}else{数[组][序] = _atoi64(读.c_str());if (--序 < 0 && 组 < 1) ++组, 序 = 长 - 1;//--序;}文件.close();}else;//std::cout << 数[组][序] << "\t" << 读 << "\n";std::cout << 数[组][k ? 序 : ++序] << "\t" << 读 << "\t" << 数[组][长 - 1] << "\n";
}
void 二的次方数组(_int64 (*数)[10000000], _int64 长, _int64 次)
{_int64 溢 = 0, 序 = 长 - 1, 次方 = 1, 组 = 0; std::string wb = "";二的次方数组读取文本("..\\Debug\\回复专用\\", "二次方数据*.txt", 数, 长, 次方);char 时间[128]; _strtime_s(时间, 128); printf("时间:%s 次方%d\n", 时间, 次方);if (次方 == 1)数[组][序] = 1; else;while (次方 && 序 > -1){if (数[组][序] > 0){数[组][序] = 数[组][序] * 2 + 溢;溢 = 数[组][序] / 1E+18;数[组][序] -= 溢*1E+18;if (次方 % 40000 == 0) wb += std::to_string(数[组][序]) + "\n"; else;if (--序 < 0 && 组 < 1) ++组, 序 = 长 - 1;// --序;}else{数[组][序] += 溢;if (wb != ""){if (溢> 0)wb += std::to_string(数[组][序]) + "\n"; else;_strtime_s(时间, 128); printf("时间:%s ", 时间); std::cout << 次方 << " " << 长 - 序;写入文本("..\\Debug\\回复专用\\二次方数据倒序" + std::to_string(次方 + 1) + ".txt", wb/* + std::to_string(序)*/);_strtime_s(时间, 128); printf(":%s数据输出完成。\n", 时间); wb = "";}else;if (++次方 > 次 || 数[组][0] > 1E+18)// || 次方 % 100000 == 0{_strtime_s(时间, 128); printf("时间:%s ", 时间); std::cout << "次方" << 次方 << " 数量" << 长 - 序 << " ";写入文本("..\\Debug\\回复专用\\二次方数据" + std::to_string(次方) + ".txt", std::to_string(序) + "\n");while (++序 < 长){写入文本("..\\Debug\\回复专用\\二次方数据" + std::to_string(次方) + ".txt", std::to_string(数[组][序]) + "\n");显示进度(长, 序);}_strtime_s(时间, 128); printf(":%s数据保存完成。\n", 时间);//if (次方 > 次 || 数[组][0] > 1E+18)次方 = 0;}if (次方 % 10000 == 0){std::string 标题 = "VsC++:" + std::to_string(次方);system(("title " + 标题).data());}序 = 长 - 1; 组 = 溢 = 0;}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89456.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89456.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/89456.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云原生技术与应用-Kubernetes架构原理与集群环境部署

目录 一.为什么需要kubernetes 1.对于开发人员 2.对于运维人员 二.kubernetes带来的挑战 三.kubernetes架构解析 1.master节点的组件 2.node节点包含的组件 3.kubernetes网络插件 四.kubernetes快速安装kubernetes集群 1.部署docker环境 2.部署kubernetes集群 五.Metrics-…

百度权重提升技巧分析:从底层逻辑到实战策略

在搜索引擎优化&#xff08;SEO&#xff09;领域&#xff0c;百度权重始终是网站运营者关注的核心指标之一。它不仅反映了网站在百度搜索中的综合表现&#xff0c;更直接影响着流量获取能力与商业价值。然而&#xff0c;百度权重并非百度官方直接公布的数据&#xff0c;而是第三…

模拟数据生成---使用NGS数据模拟软件VarBen

目录 1.在BAM文件中根据指定的变异等位基因分数的指定位置或区域随机选择read。 2.筛选变异等位基因分数的reads: 3.装BWA和samtools软件包(samtools在linux系统中下载过,前文有讲过) 4.写py脚本 5.下载pysam库模块 6.下载参考基因组hg38 7.解压gz 8.建立samtools索引…

Redis-典型应用-分布式锁

目录 1.什么是分布式锁? 2.分布式锁的实现 3.引入过期时间 4.引入校验ID 5.引入lua脚本: 6.引入看门狗(watch dog) 7.引入redislock算法: 1.什么是分布式锁? 在 分布式系统中,会出现多个节点同时访问同一个公共资源, 此时就需要通过锁来作互斥控制,避免出现类似于多线程…

Dinky (Mac) 本地开发环境搭建指南

目录 一、前置条件 二、代码准备 三、前端环境搭建 1. 安装Node环境 2. 安装PNPM 3. 构建前端 四、后端环境搭建 1. 本地编译依赖 2. 添加必要依赖 3. 启动后端服务 五、访问系统 附录&#xff1a;官方参考 一、前置条件 确保已安装以下软件&#xff1a; 软件要求…

Java Set 集合详解:从基础语法到实战应用,彻底掌握去重与唯一性集合

作为一名 Java 开发工程师&#xff0c;你一定在实际开发中遇到过需要去重、唯一性校验、快速查找等场景。这时候&#xff0c;Set 集合 就成为你不可或缺的工具。本文将带你全面掌握&#xff1a;Set 接口的定义与核心方法常见实现类&#xff08;如 HashSet、TreeSet、LinkedHash…

在分布式系统中,如何保证缓存与数据库的数据一致性?

口诀&#xff1a; 读多写少用旁路&#xff0c;先更库再删缓存&#xff1b; 强一致选写透&#xff0c;缓存代理更库走&#xff1b; 性能优先用写回&#xff0c;异步批量有风险&#xff1b; 高并发加双删&#xff0c;延迟兜底防旧残&#xff1b; 强一致用锁串&#xff0c;并发虽低…

【洛谷P1417】烹调方案 题解

题目大意 一共有 nnn 件食材&#xff0c;每件食材有三个属性&#xff0c;aia_iai​&#xff0c;bib_ibi​ 和 cic_ici​&#xff0c;如果在 ttt 时刻完成第 iii 样食材则得到 ai−tbia_i-t\times b_iai​−tbi​ 的美味指数&#xff0c;用第 iii 件食材做饭要花去 cic_ici​ 的…

vue svg实现一个环形进度条组件

svg实现一个环形进度条设计初衷&#xff1a;本来想直接使用element的进度条组件的&#xff0c;但是好多属性都没有办法控制。 UI设计的图如下&#xff0c;需要控制未完成和已完成的颜色&#xff0c;端点的形状改为普通的butt 所以使用svg实现了一个环形进度条组件element组件设…

02 51单片机之LED闪烁

文章目录1、单片机1-1、简介1-2、应用场景2、51单片机2-1、背景2-2、主要品牌及其产品2-3、基本组成2-4、命名规则3、单片机内部结构3-1、单片机内部结构图3-2、单片机内部结构3-3、单片机内部管脚图3-4、单片机最小系统3-5、开发板介绍4、点亮LED4-1、新建工程4-1-1、创建工程…

Typecho博客集成算术验证码防御垃圾评论实战指南

文章目录 Typecho实现算术验证码防御机器人垃圾评论的完整方案 背景与问题分析 技术方案设计 系统架构 技术选型 核心实现步骤 1. 创建验证码生成函数 2. 修改评论表单模板 3. 添加AJAX刷新功能 4. 创建验证码刷新接口 5. 添加评论提交验证 安全增强措施 1. 防止暴力破解 2. 增…

clonezilla 导出自动化恢复iso

clonezilla 下载及U盘工具下载 clonezilla rufus U盘写入工具ventoy U盘工具downloaddownloaddownload clonezilla 备份&#xff0c;连贯上一篇文章参考 Choose Clonezilla live (VGA 800x600) Wait for it to complete Language selection Keyboard Settings Select Mode …

深度学习模型开发部署全流程:以YOLOv11目标检测任务为例

深度学习模型开发部署全流程&#xff1a;以YOLOv11目标检测任务为例 深度学习模型从开发到部署的完整流程包含需求分析、数据准备、模型训练、模型优化、模型测试和部署运行六大核心环节。YOLOv11作为新一代目标检测模型&#xff0c;不仅延续了YOLO系列的高效实时性能&#xff…

单片机(STM32-串口通信)

一、串口通信基础概念串口通信&#xff08;Serial Communication&#xff09;是一种在计算机和外部设备之间进行数据传输的通信方式。它通过串行方式逐位传输数据&#xff0c;是最基本和常用的通信接口之一。主要特点1. 串行传输(1)数据按位顺序传输&#xff0c;一次只能传输一…

Redis学习其三(订阅发布,主从复制,哨兵模式)

文章目录9.Redis订阅与发布9.1发布订阅命令9.2示例10.Redis主从复制10.1概念10.2环境配置10.3集群搭建&#xff08;一主二从配置&#xff09;10.4使用规则&原理11.哨兵模式11.1基本概念11.2工作原理11.3使用案例12.缓存穿透,雪崩&#xff08;待拓展&#xff09;12.1缓存穿透…

跨平台 App 如何无痛迁移到鸿蒙系统?全流程实战+Demo 教程

摘要 目前&#xff0c;随着 HarmonyOS&#xff08;鸿蒙系统&#xff09;的快速发展&#xff0c;越来越多开发者和企业希望将已有的 Android、Flutter、React Native 等跨平台应用迁移到鸿蒙生态中。鸿蒙不仅具备分布式能力、原生性能和统一的开发范式&#xff0c;还提供了丰富的…

智慧后厨检测算法构建智能厨房防护网

智慧后厨检测&#xff1a;构建安全洁净厨房的智能解决方案背景&#xff1a;传统后厨管理的痛点与智慧化需求餐饮行业后厨管理长期面临操作规范难落实、安全隐患难察觉、卫生状况难追溯等痛点。传统人工巡检效率低、覆盖面有限&#xff0c;难以实现24小时无死角监管。例如&#…

LatentSync: 一键自动生成对嘴型的视频

LatentSync是什么 字节跳动与北京交通大学联合推出了全新的唇形同步框架 LatentSync&#xff0c;它基于音频驱动的潜在扩散模型&#xff0c;跳过了传统的3D建模或2D特征点提取&#xff0c;直接生成自然逼真的说话视频。 LatentSync借助Stable Diffusion强大的图像生成能力&am…

在断网情况下,网线直接连接 Windows 笔记本和 Ubuntu 服务器进行数据传输

在断网情况下&#xff0c;通过网线直接连接 Windows 笔记本 和 Ubuntu 服务器上的容器 进行数据传输&#xff0c;可以按照以下步骤操作&#xff1a;1. 物理连接 使用网线直连&#xff1a;用一根 普通网线&#xff08;直通线&#xff09; 连接 Windows 笔记本和 Ubuntu 服务器的…

机器学习17-Mamba

深度学习之 Mamba 学习笔记 一、Mamba 的背景与意义 在深度学习领域&#xff0c;序列建模是一项核心任务&#xff0c;像自然语言处理、语音识别和视频分析等领域&#xff0c;都要求模型能有效捕捉长序列里的依赖关系。之前&#xff0c;Transformer 凭借强大的注意力机制成为序列…