#include <iostream>
using namespace std;
int n;
int w[100], f[100];
int sum(int x)
{
int ans = 0;
for (int i=1;i<x;i++)
{
if(x % i == 0)
ans += i;
}
return ans;
}
int main()
{
cin >> n;
for (int i=0;i<n;i++)
w[i] = sum(i);
for (int i=0;i<=n;i++)
for (int j=n;j>i;j--)
f[j] = max(f[j], f[j - i] + w[i]);
cout << f[n] << endl;
return 0;
}
最大约数和 c++
C++DynamicProgrammingforArrayMaxSubsequenceSum
最新推荐文章于 2024-11-12 09:39:46 发布
该代码展示了如何使用C++编程语言实现一个动态规划算法,用于解决给定数组中最大子序列和问题。程序首先计算每个位置的和,然后通过迭代更新最大子序列和。最后输出的是数组的第n个元素,即最大子序列和。
17万+

被折叠的 条评论
为什么被折叠?



