時間限制: 1 sec 記憶體限制: 128 mb提交: 45 解決: 15
[提交][狀態][討論版][命題人:acm4302]
最近,喵喵一直在學習數學。他發現了,任意乙個正整數n,都可以被一素數整除。
發現了這個結論的他特別高興。有一天,lls給了喵喵乙個數字n,
一本正經地告訴他:「你能求所有能整除n!的素數和其相應的數量嗎?」
喵喵想了想說:「直接算不就好了嘛~」
lls笑了笑說:「小老弟你還是太年輕~」
你能幫助喵喵順利求解這個問題嗎?
乙個整數n (1≤n≤10^5)
所有能整除n!的素數和其數量,共若干行,每行一對pi, ni,按照pi從小到大的順序輸出。
5
2 3
3 15 1
#include #include using namespace std;
typedef long long ll;
int a[100005]=;
void fac(int n)
int main()
{ int n;
cin >>n;
for(int i=2;i<=n;i++)
fac(i);
for(int i=2;i<=n;i++)
if(a[i])
cout 對於上邊為什麼 i*i<=n ;
舉個例子 :48=2*2*2*2*3 和 192=2*2*2*2*3*4
當 48 不斷在while中迴圈時,arr[2]不斷加一,到了只剩下3的時候退出while 迴圈,此時 n=3 ,i=3,裡邊只包含1 個3,利用下邊的
if()判斷語句就能再arr[3]++;
而192就不同了,當n裡邊不在含有質數2時,退出while()迴圈,此時n=12=3*4=3*(3+1),i=3;顯而易見,n中還有2個3,可以進入迴圈;
3281 喵喵的數學難題
3281 喵喵的數學難題 最近,喵喵一直在學習數學。他發現了,任意乙個正整數n,都可以被一素數整除。發現了這個結論的他特別高興。有一天,lls給了喵喵乙個數字n,一本正經地告訴他 你能求所有能整除n!的素數和其相應的數量嗎?喵喵想了想說 直接算不就好了嘛 lls笑了笑說 小老弟你還是太年輕 你能幫助...
YTU OJ 3281 喵喵的數學難題
最近,喵喵一直在學習數學。他發現了,任意乙個正整數n,都可以被一素數整除。發現了這個結論的他特別高興。有一天,lls給了喵喵乙個數字n,一本正經地告訴他 你能求所有能整除n!的素數和其相應的數量嗎?喵喵想了想說 直接算不就好了嘛 lls笑了笑說 小老弟你還是太年輕 你能幫助喵喵順利求解這個問題嗎?乙...
質因子的分解
1 所謂的質因子分解是指將乙個正整數n寫成乙個或多個質數的乘積的形式,例如 6 2 3,8 2 2 2.或者將其寫為指數形式,如 6 2 1 3 1,180 2 2 3 2 5 1 由於最後要歸結到若干不同指數的乘積,因此需要先將素數表列印出來。注意 1本身不是素數,因此他沒有質因子,一般就是討論大...