最大約數個數
可以乙個乙個求 資料過大時必超時
根據約數和定理:對於乙個大於1正整數n可以分解質因數:n=p1a1*p2a2*p3a3*…*pkak,則由約數個數定理可知n的正約數有(a₁+1)(a₂+1)(a₃+1)…(ak+1)個,
#pragma ggc optimize(2)
#include"bits/stdc++.h"
using namespace std;
int a,b;
bool is(int x)
return true;
} int get(int x)
ans*=(count+1);
count=0;
} if(x>1)ans*=2;//如果最後剩下的是個質數,也要乘一下
return ans;
}int main()
cout
}
最大約數和
題目 題目描述 選取和不超過s的若干個不同的正整數,使得所有數的約數 不含它本身 之和最大。輸入格式 輸入乙個正整數s。輸出格式 輸出最大的約數之和。輸入輸出樣例 輸入 1 輸出 1 說明 提示 樣例說明 取數字4和6,可以得到最大值 1 2 1 2 3 9。資料規模 s 1000 思路 把它當做0...
約數個數 約數之和
給乙個數n,求它的約數個數 因為n可以唯一分解成質因數的乘積即 n p 1 p 2 p t 所以n的約數c的形式應該是 c p 1 p 2 p t 對於任何兩組不同的 beta 1,beta t 的取值,由算數基本定理得c是不同的,由於 beta i 的取值為 0,1,alpha i 共 alpha...
約數個數定理
編輯 對於乙個大於1正整數n可以 分解質因數 則n的 正約數的個數就是 其中a 1 a2 a 3 ak是p 1 p2 p 3,p k的指數。編輯首先同上,n可以 分解質因數 n p1 a1 p2 a2 p3 a3 pk ak,由約數定義可知p1 a1的約數有 p1 0,p1 1,p1 2.p1 a1...