首页 > 后端开发 > C++ > 正文

寻找一个数的最小因子之和的C程序?

WBOY
发布: 2023-08-27 11:53:12
转载
754 人浏览过

寻找一个数的最小因子之和的C程序?

该程序用于查找数字的最小因数之和。解决这个问题的逻辑是,找到所有因素集并将它们相加。对于每组因素,我们都会做同样的事情,然后对所有因素进行比较。然后找出这些总和中的所有最小值。

Input: n=12
Output: 7
登录后复制

解释

首先找到数字n的因数,然后将它们相加,并尝试最小化总和。以下是分解 12 以及因数之和的不同方法。

12 = 12 * 1 = 12 + 1 = 13
12 = 2 * 6 = 2 + 6 = 8
12 = 3 * 4 = 3 + 4 = 7
12 = 2 * 2 * 3 = 2 + 2 + 3 = 7
Therefore minimum sum is 7
登录后复制

示例

#include<iostream>
using namespace std;
int main() {
   int n = 12;
   int sum = 0;
   for (int i = 2; i * i <= n; i++) {
      while (n % i == 0) {
         sum += i;
         n /= i;
      }
   }
   sum += n;
   cout << sum;
   return 0;
}
登录后复制

以上是寻找一个数的最小因子之和的C程序?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板