c++一个数因子和(快速求解)

news2024/9/23 1:19:36

void 一个数因子和(int 整数)
{//缘由https://ask.csdn.net/questions/1054457#answer_1251715
	int he = 0, j = 0; string a = "";
	while (++j < 整数)if (!(整数%j))he += j, a += to_string(j) + "+";
	cout << a << "的因子和:" << he << endl;
}

	int a = 0; cout << "输入一个整数:"; cin >> a;	一个数因子和(a);

还真是不比贴主的快,引起我认真审题,修改一下,比贴主更快。循环到整数的二分之一速度快,但是求二分之一要放到循环外预先计算。还可以继续优化到更快。

void 一个数因子和(int 整数 = 44)
{//缘由https://ask.csdn.net/questions/1054457#answer_1251715
	int he = 0, j = 1, jj = 整数 / 2; string a = "";
	while (j < jj)if (!(整数%j))he += j, a += to_string(j) + "+", ++j; else ++j;
	cout << 整数 << "=>" << a << "的因子和:" << he << endl;
}

一个数的因子集合是能被整除的除数与商数的集合。 

void 快速数因子和(int& jj, int 整数 = 447744774)
{//一个数的因子集合是能被整除的除数与商数的集合。缘由https://ask.csdn.net/questions/1054457#answer_1251715
	unsigned long int 和 = 0, 除数 = 1, 商数 = 整数, 开方 = sqrt(整数); string 观察 = "";
	while (++除数 < 商数 && 除数 <= 开方)
	if (!(整数 % 除数))
	{
		和 += 除数 + (商数 = 整数 / 除数),
		观察 += to_string(除数) + "+",
		观察 += to_string(商数) + "+";
		if (除数 + 除数 >= 商数){ ++jj; 观察 += "☆"; break; }
	}
	cout << 整数 << "=>" << 观察 << "的因子和:" << (和 += 1) <<ends<<jj<< endl;//if (和 == 整数)
}

	int aa = INT_MAX - 1, j = 1111111, 起始 = 44, 结束11 = 1111799, jj = 0;
	while ((j += 2) < 结束11)if (j >= 起始&&判断素数(j))cout << j << ends;
	while (j++ < 结束11)快速数因子和(jj,j);
	快速数因子和(jj, aa);

完美数的确用开方作为结束比较快,优化的地方我没错,问题出在结束用商,对于某些数是不适合的,这一点也注意到了,尤其是遇到质素时,正好这个做了个验证。很多数用商是比较接近开方的。
	//int 整数 = 9999;
	//while (--整数)
	//{
	//	int 和 = 1, 除数 = 1, 商数 = 整数, 开方 = sqrt(整数);
	//	while (++除数 <= 开方){if (!(整数 % 除数))和 += 除数 + (整数 / 除数);if (除数 + 除数 >= 商数)break;/*虽然这个判断只有20%命中率也算是个小优化可减少循环次数*/}
	//	if (和 == 整数)cout << 整数 << ends;//
	//}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在 Java 应用程序中定位高 CPU 使用率问题

文章目录 ♨ 前言♨ 提前准备♨ 线上定位♨ 结语 ♨ 前言 在运行 Java 应用程序的服务器上&#xff0c;高 CPU 使用率可能会影响应用程序的性能和稳定性。本文将介绍如何通过一系列步骤和工具来准确诊断和解决高 CPU 使用率问题&#xff0c;特别是针对 Java 环境下的应用程序。…

OpenCV影像数据处理入门-学习篇

目录 简介如何安装图像数据处理简单操作视频数据处理简单操作 一、简介 在计算机视觉项目的开发中&#xff0c;OpenCV作为最大众的开源库&#xff0c;拥有了丰富的常用图像处理函数库&#xff0c;可用于开发实时的图像处理、计算机视觉以及模式识别程序。采用C/C语言编写&am…

用于辅助视障人士检测人行道障碍物的 TinyML 模型

这篇论文的标题为《A TinyML model for sidewalk obstacle detection: aiding the blind and visually impaired people》&#xff0c;发表在《Multimedia Tools and Applications》上。以下是论文的主要内容概述&#xff1a; 摘要&#xff1a; 论文介绍了在资源受限的物联网…

C语言程序设计 笔记代码梳理 重制版

前言 第1章 C语言的流程 1.C程序经历的六个阶段 编辑(Edit)预处理(Preprocess)编译(Compile)汇编(Assemble)链接(Link)执行(Execute) 2.C语言编写代码到运行 都是先编译&#xff0c;后链接&#xff0c;最后运行。&#xff08;.c ---> .obj --->.exe&#xff09;这个过…

热老化的行业应用

热老化应用行业&#xff1a;深度解析与图像呈现 热老化&#xff0c;作为一种重要的材料测试方法&#xff0c;在众多行业中扮演着关键角色。它通过模拟产品在高温环境下的长期使用&#xff0c;提前发现潜在的材料缺陷、性能衰退等问题&#xff0c;从而提高产品的可靠性&#xf…

打造个性化时装购物平台:Spring Boot框架的实践

第1章 绪论 1.1背景及意义 随着社会的快速发展&#xff0c;计算机的影响是全面且深入的。人们生活水平的不断提高&#xff0c;日常生活中人们对时装购物系统方面的要求也在不断提高&#xff0c;喜欢购物的人数更是不断增加&#xff0c;使得时装购物系统的开发成为必需而且紧迫的…

顶刊精析|METI:整合细胞形态与空间转录组学的肿瘤微环境分析框架·24-09-06

小罗碎碎念 本期精读文献&#xff1a;《METI: Deep profiling of tumor ecosystems by integrating cell morphology and spatial transcriptomics》 今天分享的这篇文献于2023年8月25日发表在Nat Commun&#xff0c;目前IF14.7。 作者类型作者姓名单位名称&#xff08;中文&am…

【免费分享】25秋招提前批25秋招信息表

秋招&#xff0c;即秋季校园招聘&#xff0c;通常是指每年秋季&#xff08;大约从9月到11月&#xff09;企业在各大高校举办的招聘活动。这是许多公司为了吸引优秀应届毕业生而进行的招聘活动&#xff0c;也是许多学生毕业后进入职场的重要途径。以下是秋招的一些关键点&#x…

手机TF卡格式化后数据恢复:方法、挑战与预防措施

在现代生活中&#xff0c;‌手机已经成为我们不可或缺的一部分&#xff0c;‌而TF卡&#xff08;‌即MicroSD卡&#xff09;‌作为手机存储的扩展&#xff0c;‌更是承载了我们大量的重要数据。‌然而&#xff0c;‌不慎的格式化操作往往导致数据丢失&#xff0c;‌给用户带来不…

集成电路学习:什么是RAM随机存取存储器

RAM&#xff1a;随机存取存储器 RAM&#xff08;Random Access Memory&#xff0c;随机存取存储器&#xff09;是计算机中用于临时存储数据和程序指令的重要存储设备。以下是关于RAM的详细解析&#xff1a; 一、RAM的定义与功能 RAM是一种内部存储器&#xff0c;与CPU直接交换…

(pycharm)安装python库函数Matplotlib步骤

1.在pycharm下面找到terminal&#xff0c;双击输入pip install Matplotlib&#xff0c;进行Matplotlib库函数的安装。 现在&#xff0c;当你运行pip --version或python.exe -m pip --version时&#xff0c;你应该会看到pip的版本已经更新为24.2。

mhtml图片提取 百度图片下载

如果你需要找一些图片&#xff0c;可以先去百度一下&#xff0c;待相关网页加载完成后&#xff0c;点击保存&#xff0c;即可得到一个mhtml文件。这个文件里的图片会用base64进行存储&#xff0c;只需要找到他们并转化就可以。目前在美篇之类的网站上效果还一般&#xff0c;需要…

如何确定 npm 依赖需要的 Node.js 版本?

目录 1&#xff0c;前言2&#xff0c;问题3&#xff0c;解决4&#xff0c;其他 1&#xff0c;前言 有的 npm 依赖会对 Node.js 的版本有要求&#xff0c;主要的原因有几点&#xff1a; 使用了新特性&#xff0c;npm 包使用了新版 Node.js 引入的新 API 或 JavaScript 的新语法…

etcdctl defrag 剔除、添加etcd节点

零、准备工作 find / -name etcdctl cp /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/12/fs/usr/local/bin/etcdctl /usr/local/bin/etcdctlalias ec"etcdctl --endpointshttps://127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --…

常用网络协议理解

1、概念 OSI网络模型由七层组成&#xff0c;从上到下分别是 其中需要用到的且理解的只有应用层、网络层、传输层 2、常见网络协议 协议的作用&#xff0c;就是用于双方规范数据格式&#xff0c;以及规定数据如何在网络中传输 ①应用层协议&#xff1a; HTTP协议&#xff1…

【苍穹外卖】Day 7 地址簿、下单、定时处理

1 地址簿模块 地址簿实体对象&#xff1a; package com.sky.entity;import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable;/*** 地址簿*/ Data Builder NoArgsConstructor AllArgsCon…

docker基础知识-docker0网桥

文章目录 示意图Docker 网桥的工作原理Docker 网桥的优势Docker 网桥的局限性自定义网桥网络 Docker 网桥&#xff08;Docker bridge network&#xff09;是 Docker 默认的一种网络模式&#xff0c;它允许 Docker 容器之间通过一个虚拟的交换机进行通信。Docker 网桥网络为容器…

Java并发编程实战 03 | Java线程状态

在本文中&#xff0c;我们将深入探讨 Java 线程的六种状态以及它们之间的转换过程。其实线程状态之间的转换就如同生物生命从诞生、成长到最终死亡的过程一样。也是一个完整的生命周期。 首先我们来看看操作系统中线程的生命周期是如何转换的。 操作系统中的线程状态转换 线…

Web安全之GroovyShell讲解:错误与正确示范,安全问题与解决方案

1. 引言 Groovy 是一门基于 Java 虚拟机&#xff08;JVM&#xff09;的动态语言&#xff0c;而 GroovyShell 是 Groovy 提供的一个灵活强大的脚本执行工具。通过 GroovyShell&#xff0c;开发者可以在运行时动态执行 Groovy 脚本&#xff0c;它的灵活性非常适合那些需要动态编…

本地使用Docker部署Nexus Maven私有仓库工具结合内网穿透实现远程管理

文章目录 前言1. Docker安装Nexus2. 本地访问Nexus3. Linux安装Cpolar4. 配置Nexus界面公网地址5. 远程访问 Nexus界面6. 固定Nexus公网地址7. 固定地址访问Nexus 前言 本文主要介绍在Linux中使用Docker来一键部署Nexus Maven私有仓库工具并结合Cpolar内网穿透实现远程访问Nex…