解題報告 之 SOJ2666 分解 n

2021-07-02 07:50:23 字數 1049 閱讀 9389

給你乙個數 n (1 < n <= 1000000) ,求 n! (n的階乘)的質因數分解形式,質因數分解形式為

n=p1^m1*p2^m2*p3^m3……

* 這裡 p1 < p2 < p3 < …… 為質數

* 如果 mi = 1, 則 ^ mi 就不需要輸出

輸入是多case的,每行乙個數n,1 < n <= 1000000,當n等於0時輸入結束

每個n輸出一行,為它的質因數分解形式67

0 6=2^4*3^2*5

7=2^4*3^2*5*7 windy7926778

題目大意:略。

分析:感覺是裸的素數運算性質。素數有乙個性質是,n!的質因子分解中,質因子p的個數為pn(n,p)=[n/p]+[n/p^2]+[n/p^3]+…… 直到[n/p^q]==0,其中[ ]表示向下取整。所以這個題我們要分解n!。可以先用素數篩打表,然後逐個逐個分解看看有多少個,最後再輸出結果即可。注意輸出的格式。

上**:

#include#include#includeusing namespace std;

int isprime[1010000];

long long prime[1010000];

int pnum[1010000];

int cnt;

void getp()

}long long get( long long n ,long long key)

return num;

}int main()

memset( pnum, 0, sizeof pnum );

for(int i = 0; prime[i] <= n&&prime[i]; i++)

cout << n << "=";

bool fst = 0;

for(int i = 0; prime[i] <= n&&prime[i]; i++)

cout << endl;

} return 0;

}

向梅姐致敬!

解題報告 之 SOJ2668 C n,k

求組合數 c n k 的奇偶性檔案是多case的,每行輸入乙個 n 1 n 10 9 和 k 0 k n 當 n 等於 0 且 k 等於 0 時輸入結束對於每乙個case,輸出一行,為組合數 c n k 的奇偶性,奇輸出1,偶輸出02 0 2 10 01 0windy7926778 題目大意 給出n...

Hdu 2036 之解題報告

problem description 改革春風吹滿地,不會ac沒關係 實在不行回老家,還有一畝三分地。謝謝 樂隊奏樂 話說部分學生心態極好,每天就知道遊戲,這次考試如此簡單的題目,也是雲裡霧裡,而且,還竟然來這麼幾句打油詩。好呀,老師的責任就是幫你解決問題,既然想種田,那就分你一塊。這塊田位於浙江...

Hdu 2037 之解題報告

problem description 今年暑假不ac?是的。那你幹什麼呢?看世界盃呀,笨蛋!確實如此,世界盃來了,球迷的節日也來了,估計很多acmer也會拋開電腦,奔向電視了。作為球迷,一定想看盡量多的完整的比賽,當然,作為新時代的好青年,你一定還會看一些其它的節目,比如新聞聯播 永遠不要忘記關心...