0
点赞
收藏
分享

微信扫一扫

试题 算法训练 最大分解

程序员阿狸 2022-01-31 阅读 44

问题描述
  给出一个正整数n,求一个和最大的序列a0,a1,a2,……,ap,满足n=a0>a1>a2>……>ap且ai+1是ai的约数,输出a1+a2+……+ap的最大值

#include <iostream>
using namespace std;
int sum = 0;
int dfs(int n)
{
   int pre;
   if(n==0)
      return sum;
   for (int i = n - 1; i >= 1;i--)
   {
      if(n%i==0){
         sum += i;
         pre = i;
         break;
         }
   }
   dfs(pre);
}
int main()
{
   int n;
   cin >> n;
   dfs(n);
   cout << sum;
   return 0;
}
举报

相关推荐

0 条评论