階乘因式分解(一) ACM解決方案

2021-08-01 19:50:18 字數 496 閱讀 5012

給定兩個數m,n,其中m是乙個素數。將n(0<=n<=10000)的階乘分解質因數,求其中有多少個m。
第一行是乙個整數s(0解題思路:

n!看成乙個【1,n】陣列,第幾個數就是幾

第m個數是m,能被m整除,第2m個數是2m,能被m整除。。。

在1~n裡一共有n/m個數能被m整除,這就有n/m個m了,加到count裡(100/5=20)

接下來看m,2m,3m……n/m*m這n/m個數里(20個)

每個數都/m了之後變成【1,n/m】陣列,第幾個數就是幾

第m個數是m,能被m整除,第2m個數是2m,能被m整除。

有n/m/m個數能被m整除,加到count裡(20/5=4,20+4=24)

n**如下:

#include int main()

printf("%d\n", sum);

}return 0;

}

階乘因式分解(一)

描述 給定兩個數m,n,其中m是乙個素數。將n 0 n 10000 的階乘分解質因數,求其中有多少個m。輸入 第一行是乙個整數s 0 100 表示測試資料的組數 隨後的s行,每行有兩個整數n,m。輸出 輸出m的個數。樣例輸入 2 100 5 16 2 樣例輸出 24 15 階乘指從1乘以2乘以3乘以...

階乘因式分解(一)

描述 給定兩個數m,n,其中m是乙個素數。將n 0 n 10000 的階乘分解質因數,求其中有多少個m。輸入 第一行是乙個整數s 0 s 100 表示測試資料的組數 隨後的s行,每行有兩個整數n,m。輸出 輸出m的個數。樣例輸入 2 100 5 16 2 樣例輸出 24 15 演算法思路 由於m是乙...

階乘因式分解(一)

時間限制 3000 ms 記憶體限制 65535 kb 難度 2描述 給定兩個數m,n,其中m是乙個素數。將n 0 n 10000 的階乘分解質因數,求其中有多少個m。輸入 第一行是乙個整數s 0 輸出輸出m的個數。樣例輸入 2 100 5 16 2 樣例輸出 24 關鍵 while n 完整 in...