hdu 6623(數字x的最小素數的次數)

2021-09-25 18:38:56 字數 657 閱讀 3624

hdu 6623

思路:考慮1~n^(1/5)的範圍內的素數,計算在1~n^(1/5)的範圍內的最小素數的次數是多少,然後除去這些素數,得到剩餘的數字m,

考慮m如果大於10009(就是素數1~n^(1/5)範圍內的素數,n的範圍是(10009,1e18),此時已知最小素數時10009,

所以最是最小素數的4次方,分別討論m是否為素數的2,3,4次方即可,如果都不是,就是1次方)。

此外,要特判1.

參考文章

#include using namespace std;

typedef long long ll;

const int maxn = 1e4+10;

ll vis[maxn],prim[maxn],tot,n;

void init()

return false;

}int main(void)

ll ans = n;

for(ll i=1;i<=tot&&n!=1ll;i++)

if(n%prim[i]==0)

ans = min(ans,cnt);

}if(n>10009)

printf("%lld\n",ans);

}return 0;

}

2019 杭電多校 HDU 6623

minimal power of prime 題意 讓你把乙個數質因數分解,輸出所有質因數指數的最小值。這個題還是挺有意思的,解題思路也比較好玩。思路 先預處理出10000以內的素數預處理出來。對於每乙個 n 我們先處理它10000以內的質因數,那麼剩下的質因數的指數就不可能超過4,單獨判斷即可 為...

問題 O 最小的x

時間限制 1 sec 記憶體限制 128 mb 提交 2403 解決 1191 狀態 提交 命題人 cyh 題目描述 tsq對dk進行地獄式訓練,找出滿足下面公式的最小的x 0a,b,c,d 為已知的4個正整數。s x 為x的各個位上的數字之和。數學是dk的弱項,所以請你來幫忙解決這個問題。輸入輸入...

數字之和為x的整數

題目描述 請在n個數中,找出各個位的數字和為x的數,求出滿足條件的數有多少個,他們的總和是多少,並對滿足條件的數按照由小到大排序。例如 x 13,那麼數85 373就是滿足條件的數,因為8 5 13 3 7 3 13。輸入 第一行有兩個整數,分別表示x和n n 10000 第二行有n個整數,用空格隔...