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個整數,用空格隔...