最大约数和


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 80M

Author:
Problem type
Allowed languages
C, C++

最大约数和

题目描述

从若干个互不相同的正整数中进行选择,使得它们的总和不超过给定的整数 (S)。 目标是让所选数字的真因子和(即每个数的所有正因子中不含它本身的部分之和,注意:真因子不能有重复的数字)之和尽可能大。 请输出这个最大值。

说明:

  • 例如 (6) 的真因子为 (1,2,3),真因子和为 (1+2+3=6)。
  • (1) 的真因子和为 (0)。

输入格式

输入一个正整数 (S)。

输出格式

输出在总和不超过 (S) 的前提下,能获得的最大真因子和

输入输出样例

输入

11

输出

9

样例解释 选择 (4) 与 (6):

  • (4) 的真因子为 (1,2),真因子和为 (3);
  • (6) 的真因子为 (1,2,3),真因子和为 (6)。 合计 (3+6=9),且 (\(4+6=10 \le 11\))。这是可达到的最大值。

数据范围

  • 对于 (100%) 的数据,(\(1 \le S \le 1000\))。

Comments

There are no comments at the moment.