題目:
題目描述
選取和不超過s的若干個不同的正整數,使得所有數的約數(不含它本身)之和最大。
輸入格式
輸入乙個正整數s。
輸出格式
輸出最大的約數之和。
輸入輸出樣例
輸入 #1
輸出 #1
說明/提示
樣例說明
取數字4和6,可以得到最大值(1+2)+(1+2+3)=9。
資料規模
s<=1000
思路:把它當做01揹包來做就行了。
s為物品個數和揹包容量,c[i]為1至s中數的約數之和,w[i]為第i個數。
抄**有害身心,請不要抄襲**!!!
#include
using
namespace std;
int dp[
1010][
1010
],s,a[
1010
],w[
1010];
voidf(
)}a[i]
=cnt;}}
intmain()
else}}
cout<[s];
return0;
}
end DP 最大約數和
選取和不超過s的若干個不同的正整數,使得所有數的約數 不含它本身 之和最大。樣例輸入11樣例輸出9算出每個數的約數和,然後dp a i a i a i 代表第 i第i 第i個數的最大約數和 因為我怕在主程式裡算約數和會超時,所以我直接打表 以下是打錶用的 注意這裡是到2000的 include in...
最大約數個數
最大約數個數 可以乙個乙個求 資料過大時必超時 根據約數和定理 對於乙個大於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 題目分析 我們可以預先處理出來所有數的約數的和,而這個和對應著我...