70 NYOJ 階乘因式分解(二)

2021-07-12 02:42:48 字數 894 閱讀 8853

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:3 描述

給定兩個數n,m,其中m是乙個素數。

將n(0<=n<=2^31)的階乘分解質因數,求其中有多少個m。

注:^為求冪符號。

輸入

第一行是乙個整數s(0

輸出輸出m的個數

樣例輸入

3

100 5

16 2

1000000000 13

樣例輸出

24

1583333329

這題的思維方式真是要給乙個大大的贊,本來想用模擬+遍歷的辦法感覺肯定要超時就放棄了,但沒想到方式居然如此巧妙

eg:n=100   m=5

100是由20個5組成的,1~100中是5的倍數的數有 5、10、15、20.。。。100

每十個數有兩個 數是5的倍數,所以1~100中5的倍數有20個 ,

從這二十個數中各分解出乙個5,則有20個5,然後這二十個數變成20、19、18.。。1

即20的階乘了相當於變成求20的階乘能分解多少個m 

在1~20中又能分解4個

在往下就不夠 5個數了,就結束迴圈 

所以總共能分解24個

#include using namespace std;

int main()

cout<

NYOJ 階乘因式分解(一)(二)

時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述給定兩個數m,n,其中m是乙個素數。將n 0 n 10000 的階乘分解質因數,求其中有多少個m。輸入 第一行是乙個整數s 0 s 100 表示測試資料的組數 隨後的s行,每行有兩個整數n,m。輸出 輸出m的個數。樣例輸入 2 1...

階乘因式分解

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 給定兩個數n,m,其中m是乙個素數。將n 0 n 2 31 的階乘分解質因數,求其中有多少個m。注 為求冪符號。輸入 第一行是乙個整數s 0 輸出輸出m的個數 樣例輸入 3 100 5 16 2 1000000000 13 樣例...

階乘因式分解

描述 給定兩個數m,n,其中m是乙個素數。將n 0 n 10000 的階乘分解質因數,求其中有多少個m。輸入 第一行是乙個整數s 0 輸出輸出m的個數。樣例輸入 2 100 5 16 2 樣例輸出 24 15 includeint main printf d n sum return 0 剛看到這道...