最大约数和
来源:互联网 发布:linux清除arp表 编辑:程序博客网 时间:2024/06/08 10:17
【问题描述】
选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。
【输入格式】
输入一个正整数S。
【输出格式】
输出最大的约数之和。
样例输入
11
样例输出
9
样例说明
取数字4和6,可以得到最大值(1+2)+(1+2+3)=9。
数据规模
据规对于30%的数据,S<=0;对于100%的数据,S<=1000。
分析
这其实是个01背包
程序:
vars,i,j,k,t,ans:longint;f:array[0..1000050]of longint;a:array[0..1005]of longint;function max(x,y:longint):longint;begin if x>y then exit(x) else exit(y);end;begin assign(input,'maxsum.in'); reset(input); assign(output,'maxsum.out'); rewrite(output); readln(s); a[1]:=0; a[2]:=1; for i:=3 to s do begin k:=0; for j:=1 to trunc(sqrt(i)) do if i mod j=0 then if i div j<>j then k:=k+j+(i div j) else k:=k+j; a[i]:=k-i; end; for i:=1 to s do for j:=s downto i do f[j]:=max(f[j],f[j-i]+a[i]); for i:=1 to s do if f[i]>ans then ans:=f[i]; writeln(ans); close(input); close(output);end.
阅读全文
0 0
- 最大约数和
- 最大的奇约数和
- 洛谷P1734 最大约数和
- 最大约数
- 最大约数和高次方尾数
- 【PHP】求最大奇约数的和
- 计算n个数的最大共约数和最小公倍数
- 求最大约数
- 最大奇约数
- 最大奇约数
- 最大奇约数
- 最大的奇约数
- 最大奇约数
- 最大的奇约数
- 最大奇约数-递归
- 最大的奇约数
- 最大的奇约数
- 网易 最大奇约数
- 跨语言序列化-protobuf/thrift/avro性能测试
- 使用javaMail发送邮件
- 最小生成树(prime算法、kruskal算法) 和 最短路径算法(floyd、dijkstra)
- OSI七层模型
- Xfire包与Spring包冲突的解决方案
- 最大约数和
- 线程池初探
- 1.spring-boot启动流程以及IOC容器创建
- gradle 打包资源文件
- cd命令
- Java反射机制及IoC原理
- 开服时间设置成2038年之后报错
- CocoaPod私有仓库使用(一)
- 【Scrapy-02】图片网站的爬虫开发技巧和案例