洛谷P1463 反素數

2022-05-20 13:13:20 字數 438 閱讀 8183

題目大意:給定 \(n < 2e9\),求不超過 n 的最大反素數。

題解:引理1:不超過 2e9 的數的質因子分解中,最多有 10 個不同的質因子,且各個質因子的指數和不超過30。

引理2:題目要求的最大反素數,實際上是求不超過 n 的數中因子數最多的數的集合中最小的那個數。

引理3:通過引理 2 以及交換證明法可以得出,各個質因子指數必須單調遞減。

**如下

#include using namespace std;

int n,cnt[15];

long long ans,sum;

int p[11]=;

void dfs(int now,long long val,long long sum0)

}void solve()

int main()

洛谷P1463 反素數

對於任何正整數x,其約數的個數記作g x 例如g 1 1 g 6 4。如果某個正整數x滿足 g x g i 0現在給定乙個數n,你能求出不超過n的最大的反質數麼?乙個數n 1 n 2,000,000,000 不超過n的最大的反質數。輸入 1 1000輸出 1 840思路 菜雞第一次學習反素數,碼點字...

洛谷P1463 反素數 DFS DP

輸出11到nn 中約數個數最多且盡量小的數。如果你很厲害的話可以打出來乙個表。include include using namespace std long long a int n,ans,i intmain 正解是dpd p,如果你鑽研資料範圍的話dfs dfs也可以過。什麼是鑽研資料範圍呢?...

洛谷P1463 反素數 DFS DP

輸出11到nn 中約數個數最多且盡量小的數。如果你很厲害的話可以打出來乙個表。include include using namespace std long long a int n,ans,i intmain 正解是dpd p,如果你鑽研資料範圍的話dfs dfs也可以過。什麼是鑽研資料範圍呢?...