ホームページ  >  記事  >  バックエンド開発  >  数値の因数の最小和を見つけるCプログラムはありますか?

数値の因数の最小和を見つけるCプログラムはありますか?

WBOY
WBOY転載
2023-08-27 11:53:12763ブラウズ

数値の因数の最小和を見つける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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。