DP 最大約數和

2021-09-10 06:52:59 字數 713 閱讀 3080

選取和不超過s的若干個不同的正整數,使得所有數的約數(不含它本身)之和最大。

樣例輸入

11
樣例輸出
9
算出每個數的約數和,然後dp

a [i

]a[i]

a[i]

代表第 i第i

第i個數的最大約數和

因為我怕在主程式裡算約數和會超時,所以我直接打表

以下是打錶用的

(注意這裡是到2000的)

#include

#include

#include

using

namespace std;

intfz

(int k)

return ans-k;

}int

main()

",fz(

2000))

;return0;

}

其實也可以直接寫到主程式裡,但這裡用的是打表

以下是dp正解

#include

#include

using

namespace std;

int a[

2002]=

;int n,m,x,y;

intmain()

最大約數和

題目 題目描述 選取和不超過s的若干個不同的正整數,使得所有數的約數 不含它本身 之和最大。輸入格式 輸入乙個正整數s。輸出格式 輸出最大的約數之和。輸入輸出樣例 輸入 1 輸出 1 說明 提示 樣例說明 取數字4和6,可以得到最大值 1 2 1 2 3 9。資料規模 s 1000 思路 把它當做0...

最大約數個數

最大約數個數 可以乙個乙個求 資料過大時必超時 根據約數和定理 對於乙個大於1正整數n可以分解質因數 n p1a1 p2a2 p3a3 pkak,則由約數個數定理可知n的正約數有 a 1 a 1 a 1 ak 1 個,pragma ggc optimize 2 include bits stdc h...

P1734 最大約數和

選取和不超過s的若干個不同的正整數,使得所有數的約數 不含它本身 之和最大。輸入乙個正整數s。輸出最大的約數之和。輸入 1複製 11輸出 1複製 9樣例說明 取數字4和6,可以得到最大值 1 2 1 2 3 9。資料規模 s 1000 題目分析 我們可以預先處理出來所有數的約數的和,而這個和對應著我...