Leetcode.2507 使用质因数之和替换后可以取到的最小值

news/2024/11/28 19:46:28/

题目链接

Leetcode.2507 使用质因数之和替换后可以取到的最小值 Rating : 1500

题目描述

给你一个正整数 n

  • 请你将 n 的值替换为 n质因数 之和,重复这一过程。

注意,如果 n 能够被某个质因数多次整除,则在求和时,应当包含这个质因数同样次数

返回 n 可以取到的最小值。

示例 1:

输入:n = 15
输出:5
解释:最开始,n = 15 。
15 = 3 * 5 ,所以 n 替换为 3 + 5 = 8 。
8 = 2 * 2 * 2 ,所以 n 替换为 2 + 2 + 2 = 6 。
6 = 2 * 3 ,所以 n 替换为 2 + 3 = 5 。
5 是 n 可以取到的最小值。

示例 2:

输入:n = 3
输出:3
解释:最开始,n = 3 。
3 是 n 可以取到的最小值。

提示:

  • 2<=n<=1052 <= n <= 10^52<=n<=105

解法:质因数分解

nnn 进行质因数分解,把 nnn 替换为 nnn的质因数之和。

我们用 preprepre 记录前一个质因数之和。

nnn 为最小质因数之和时,再进行同样的上述操作,值是不会改变的。所以当 pre=npre = npre=n时,说明此时的 nnn 就是最小质因数之和。

时间复杂度: O(n)O(\sqrt{n})O(n)

C++代码:


class Solution {
public:int smallestValue(int n) {int pre = 0;while(pre != n){int sum = 0;pre = n;for(int x = 2;x <= n / x;x++){while(n % x == 0){sum += x;n /= x;}}if(n > 1) sum += n;n = sum;}return n;}
};

http://www.ppmy.cn/news/41755.html

相关文章

【Docker】从 Docker 镜像中下载内容到本地

使用 docker run 命令启动镜像并进入容器。 docker run -it --name my-container my-image:tag /bin/bash其中 my-container 为你给容器取的名字。 在容器中进行所需的操作&#xff0c;例如下载文件到容器中。 使用 docker cp 命令将容器中的文件复制到本地。 docker cp my…

fl studio插件在哪个文件夹里 fl studio插件怎么用

fl studio是一个全能数字音乐工作台&#xff0c;集编曲、剪辑、录音和混音为一体&#xff0c;致力于把电脑变为全功能音乐工作室。fl studio具有专业的调音台&#xff0c;提供有复杂作品所需的所有功能&#xff0c;另外fl studio的Pattern和Song模式可以更加快速的制作Hip-hop、…

Platform虚拟总线(设备驱动分离详解)

目录 1.驱动结构体​编辑 C语言语法&#xff1a; (struct platform_device *) platform驱动编写 2.设备结构体 1.驱动结构体 led驱动配置 platform_device是device的子类&#xff0c;设备数据类型为device&#xff0c;通过device_register向内核注册设备&#xff0c…

【刷题】小技巧

好久没更了 写天梯模拟L1都有题不能AC&#xff0c;是什么品种的蒟蒻 L1-7 谷歌的招聘 题目详情 - L1-7 谷歌的招聘 (pintia.cn) 自己写半天都是Segmentation Fault&#xff0c; 学习一下几个函数叭// 1.substr&#xff08;&#xff09;函数 获取子串 #include<bits/st…

Spring —— Spring Boot 创建和使用

JavaEE传送门JavaEE Spring —— Spring简单的读取和存储对象 Ⅱ Spring —— Bean 作用域和生命周期 目录Spring Boot 创建和使用Spring BootSpring Boot 项目创建使用 IDEA 创建网页版创建Spring Boot 目录介绍运行 Spring Boothello world约定大于配置Spring Boot 创建和使…

大数据分析工具Power BI(十三):制作占比分析图表

文章目录 制作占比分析图表 一、饼图 二、环形图 三、树状图

Kafka源码分析之Producer数据发送流程(四)

概述 书接上回的producer发送流程&#xff0c;在准备工作完成后&#xff0c;kafka的producer借助Sender和KafkaClient两大组件完成了数据的发送。其底层封装了java的NIO的组件channle以及selector&#xff0c;对于NIO组件不太熟悉的同学可以自行查询相关文档。 下面我整理了k…

Android 中打开音频流所用的配置

我们在 AudioPolicyManager::onNewAudioModulesAvailableInt(DeviceVector *newDevices) 函数中看到它创建了 SwAudioOutputDescriptor 对象&#xff0c;后者的构造函数的定义 (位于 frameworks/av/services/audiopolicy/common/managerdefinitions/src/AudioOutputDescriptor.…