P1734
  • 板块学术版
  • 楼主畅想未来
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/10/11 22:06
  • 上次更新2023/11/5 10:58:16
查看原帖
P1734
243326
畅想未来楼主2020/10/11 22:06
#include<iostream>
using namespace std;
int a[10001];
   int dfs[10001];
int findlost(int n){
   int ans = 0;
   for(int i = 0;i<n;i++){
   	if(n%i==0) {
   		ans+=i;
   	}
   }
   return ans;
} 
int main(){
   int n;
   cin>>n;
   
for(int i = 1;i<=n;i++){
   	a[i]=findlost(i);
   }
   for(int i = 1;i<=n;i++){
   	for(int j = i;j<=n;j++)
   	dfs[j]=max(dfs[j],dfs[j-i]+a[i]);
   }
   cout<<dfs[n];
   return 0;
}

为什么死循环啊

2020/10/11 22:06
加载中...