简单贪心思想只要每一步都是最大的,就可以保证他结果是最大的(芜湖)
#include<bits/stdc++.h> using namespace std; const int N=1e5+5; int max_num(int n){ int max_num=0; for(int i=1;i<n;i++){ if(n%i==0&&max_num<i){ max_num=i; } } return max_num; } int main(){ vector<int>sum; int n,summ=0; cin>>n; while(n>=1){ sum.push_back(n); n=max_num(n); } for(int i=1;i<sum.size();i++){ summ+=sum[i]; } cout<<summ; }
07-25
363
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-12
357
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-13
468
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交