美文网首页
【算法题】2507. 使用质因数之和替换后可以取到的最小值

【算法题】2507. 使用质因数之和替换后可以取到的最小值

作者: 程序员小2 | 来源:发表于2023-04-03 08:06 被阅读0次

题目:

给你一个正整数 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 <= 10^5

来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

思路:

递归

java代码:

class Solution {
    public int smallestValue(int n) {
        int ans = 0, tmp = n;
        for (int i = 2; tmp > 1; i++) {
            while (tmp % i == 0) {
                tmp /= i;
                ans += i;
            }
        }
        return ans == n ? n : smallestValue(ans);
    }
}

相关文章

  • 5.栈(五)

    题目汇总:https://leetcode-cn.com/tag/stack/907. 子数组的最小值之和中等(题...

  • ATRS第1周

    ATRS Algorithm算法题: 两数之和 - 力扣 (LeetCode) ``` function twoS...

  • 大话设计模式读书笔记-2策略模式

    第2章 商场促销——策略模式 概念 策略模式定义算法家族,分别封装后,让它们可相互替换,此模式可以让使用算法的用户...

  • 策略模式

    定义算法族,分别封装起来,让它们可以互相替换,让算法的变化独立于使用算法的客户

  • 策略模式

    定义 封装了不同的算法,让他们可以相互替换,算法的变化不会影响使用算法的用户 类型:行为型 使用场景 系统有很多类...

  • 策略模式

    策略模式——定义算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 何时使用:...

  • 设计模式(二) Strategy

    前言 定义: 定义一系列的算法,并且将每个算法封装起来,算法之间还可以互相替换。本模式使得算法可以独立于使用它的客...

  • 策略设计模式

    定义:定义算法族,分别封装起来,让他们之前可以相互替换,算法的变化独立于使用算法的客户优点:策略类之间可以切换,由...

  • 栈系列之-获取最小值

    一、栈获取最小值算法概述 获取栈的最小值算法:可以动态的获取一个栈中元素的最小值,动态的意思是,当该栈发生push...

  • 设计模式:第一篇--策略模式

    策略模式:定义了算法族,分别封装起来,让算法族下的算法之间可以被替换。策略模式将算法独立于使用算法的客户之外。 其...

网友评论

      本文标题:【算法题】2507. 使用质因数之和替换后可以取到的最小值

      本文链接:https://www.haomeiwen.com/subject/ixedddtx.html