B. Number Factorization - 数论

news2024/12/23 11:38:25

分析:

        可以将n分解成质因数,要求是加和尽可能大,那么可以让所有的指数都是1,a*b>a+b一定成立,所以要尽可能地将质因数乘在一起组成更大的数,加在一起得到最后的解。

代码:

#include <bits/stdc++.h>

#define int long long

using namespace std;

typedef long long ll;
typedef pair<int,int> pii;

vector<pii> get(int n)
{
	vector<pii> res;
	for(int i=2;i<=n/i;i++)
	{
		if(n%i==0)
		{
			int s=0;
			while(n%i==0)
			{
				n/=i;
				s++;
			}
			res.push_back({s,i});
		}
	}
	if(n>1) res.push_back({1,n});
	return res;
}

signed main()
{
	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);

	int _;
	cin>>_;
	while(_--)
	{
		int n;
		cin>>n;
		vector<pii> res=get(n);
		sort(res.begin(),res.end());
		int sum=1;
		for(int i=0;i<res.size();i++) sum*=res[i].second;
		int last=0;
		int ans=0;
		for(int i=0;i<res.size();i++)
		{
			ans+=sum*(res[i].first-last);
			sum/=res[i].second;
			last=res[i].first;
		}
		cout<<ans<<'\n';
	}

	return 0;
}

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

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

相关文章

Matlab中解常微分方程(组)的命令

常微分方程组求解命令与示例 线性常微分方程&#xff08;组&#xff09; ode45 4 order 龙格库塔法example odefun (t, y) [-2*y(1) y(2); y(1) - 2*y(2)]; tspan [0 10]; y0 [1; 0]; [t, y] ode45(odefun, tspan, y0); ode23 使用二三阶Bogacki-Shampine方法求解非刚性…

Devops系列二(使用helm chart,将java应用发布部署至k8s的示例)

一、接着上一篇的话 docker镜像已经有了&#xff0c;本文我们将接着演示如何使用helm部署应用到k8s。 分为两大部分&#xff1a; 制作helm chart&#xff0c;推送到私有仓库nexushelm拉取chart&#xff0c;部署到k8s 二、制作helm chart 要求你先安装helm&#xff0c;随便一…

Rust 第四天—Rust进阶1

上一篇介绍了Rust的所有权特性,今天就把剩下一些之前没介绍但项目中常用的内容总结一下. 结构体泛型trait 1 结构体 和c语言一样,Rust使用struct关键字来定义一个结构体,结构体可以将不同的类型数据进行整合,加快内存访问速度. 1.1 结构体定义 struct Test{username:Strin…

【第四天学习】决策分支,判断语录

决策分支 If语句 If语句是对基础的一种选择结构语句&#xff0c;它主要有三种形式&#xff0c;分别是if语句&#xff0c;if else语句和if else If else多分支语句。 int nCheck 0; if(nNum4) { nCheck4; } else { nCheck8; }If语句其实就是一个判断语句&#xff0c;它会判断…

详细解释lvs的工作原理

vsl用于集群中的直接路由它的原理如下 如果在公司并发太高了怎么解决 1.加配置cpu 内存 带宽 ssd高效硬盘 2.加服务器 为用户提供服务 横向扩展 集群是什么 由的多台主机构成,相当于一台大型计算机,只提供一个访问入口(域名与ip地址) 集群用在那个场景 高并发场景 vrrp是…

linux下删除ARP缓存表【网络工程】(保姆级图文)

目录 linux下删除ARP缓存表总结 欢迎关注 『网络工程专业』 系列&#xff0c;持续更新中 欢迎关注 『网络工程专业』 系列&#xff0c;持续更新中 温馨提示&#xff1a;对虚拟机做任何设置&#xff0c;建议都要先快照备份&#xff01; linux下删除ARP缓存表 这里老师的命令ip…

docker的安装和使用

1.新建一个项目 比如vue init vuelatest完事之后运行打包到build目录下 2.在项目根目录下通过执行命令 touch Dockerfile 3.拉取nginx镜像 首先打开你的Docker&#xff0c;默认会启动。控制台拉取 Nginx 镜像&#xff1a;运行 docker pull nginx4.在根目录创建Nginx配置文件…

【多线程】锁策略

1. 说在前面 这里的锁策略内容&#xff0c;属于典型的面试八股文&#xff01;如果未来工作&#xff0c;需要实现一把锁&#xff0c;那么得好好研究下锁策略&#xff0c;但基本上不会让我们自己设计一把锁的。 而这里的锁策略内容不局限于 Java&#xff0c;任何 "锁" …

python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)

简介 有些 post 的请求参数是 json 格式的&#xff0c;这个前面发送post 请求里面提到过&#xff0c;需要导入 json模块处理。现在企业公司一般常见的接口因为json数据容易处理&#xff0c;所以绝大多数返回数据也是 json 格式的&#xff0c;我们在做判断时候&#xff0c;往往只…

golang 实现四层负载均衡

大家好&#xff0c;我是蓝胖子&#xff0c;做开发的同学应该经常听到过负载均衡的概念&#xff0c;今天我们就来实现一个乞丐版的四层负载均衡&#xff0c;并用它对mysql进行负载均衡测试&#xff0c;通过本篇你可以了解到零拷贝的应用&#xff0c;四层负载均衡的本质以及实践。…

代码模版-element plus如何进行前端校验输入框

文章目录 步骤一&#xff1a;引入 element plus 框架步骤二&#xff1a;使用 element plus 的 form步骤三&#xff1a;form 明确指定 rules步骤四&#xff1a;事件触发校验 使用 vue3 element plus 步骤一&#xff1a;引入 element plus 框架 先 npm 安装 在 src/main.js 中…

linux[armbian]环境安装nginx

文章目录 linux[armbian]环境安装常用命令遇到的问题和解决方法问题一&#xff1a;conf/koi-win复制错误解决方法问题二&#xff1a;缺少相关的日志目录解决方法 linux[armbian]环境安装 下载Nginx&#xff1a; 访问[Nginx官方网站]&#xff08;https://nginx.org/)&#xff0c…

排序算法(1):冒泡排序

在计算机科学领域&#xff0c;排序算法是一个重要的主题。冒泡排序法是最基础且简单的排序算法之一&#xff0c;它的原理简单易懂&#xff0c;是学习排序算法的理想起点。本文将详细介绍冒泡排序法的原理、实现方法以及优化技巧&#xff0c;帮助读者全面了解和掌握这一经典算法…

重新安装conda时报错

自己因为最近利用 conda 安装了比较多的软件,在输入创建环境时&#xff1a; conda create -n python27 python2.7 报错&#xff0c;环境创建不成功。 显示 miniconda3 文件夹已存在 &#xff08;因为安装时会默认安装至此目录&#xff0c;如果此目录已经存在则会冲突报错&…

【基础算法】贪心算法

贪心算法又称贪婪算法&#xff0c;是一种常见的算法思想。贪心算法的优点是效率高&#xff0c;实现较为简单&#xff0c;缺点是可能得不到最优解。 贪心算法的基本思想 贪心算法就是在求解问题时&#xff0c;总是做出当前看来最好的选择。也就是说贪心算法并不从整体最优上考…

word转PDF后图片为何会变小?怎么解决?

有些同学反映将Word文档转换为PDF后&#xff0c;发现里面的图片居然变小了&#xff0c;这是什么原因造成的&#xff1f;该怎么解决呢&#xff1f; 先来说说原因&#xff0c;我个人认为可能是由以下原因造成的&#xff1a; 1、word插入图片后压缩“太狠”了。当你在word中插入…

GENMARK控制器维修S08S4P.D工业电脑维修

机器人GENMARK SYSTEM CONTROLLER系统控制器维修S08S4P.D工业电脑&#xff1b;晶圆转移机器人SΛΛALL CONTROLLER&#xff1b; SΛΛC1100 半导体设备机械臂GENMARK控制器等 GenMark的两大构架&#xff1a;eSensor&#xff08;电子传感&#xff09;和Elecitrowetting&#xf…

ibaq intensity 蛋白组学 蛋白质组学两个定量方法(iBAQ和LFQ)的区别及常见的标准化方法

4.MaxQuant中的Intensity&#xff0c;LFQ和iBAQ 大佬的软件&#xff0c;三种定量算法都发了文章。 Intensity是将某Protein Groups里面的所有Unique和Razor peptides的信号强度加起来&#xff0c;作为一个原始强度值。用得很少。iBAQ是在Intenstiy的基础上&#xff0c;将原始…

JUC#线程池加锁逻辑梳理

带着问题看源码 为什么要用线程池?Java是实现和管理线程池有哪些方式? 请简单举例如何使用。为什么很多公司不允许使用Executors去创建线程池? 那么推荐怎么使用呢?ThreadPoolExecutor有哪些核心的配置参数? 请简要说明ThreadPoolExecutor可以创建的是哪三种线程池呢?当…

【Web3】Web3Js高频Api

目录 Web3Js方法 初始化Web3实例 Web3Api 创建账号Api 获取余额Api 单位转换工具函数 Web3Js方法 web3.eth&#xff1a;用于与以太坊区块链和智能合约之间的交互。 web3.utils&#xff1a;包含一些辅助方法。 web3.shh&#xff1a;用于协议进行通信的P2P和广播。 web3…