阶乘因式分解(一) -- ACM解决方案
生活随笔
收集整理的這篇文章主要介紹了
阶乘因式分解(一) -- ACM解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
階乘因式分解(一)
描述
給定兩個數m,n,其中m是一個素數。將n(0<=n<=10000)的階乘分解質因數,求其中有多少個m。輸入
第一行是一個整數s(0<s<=100),表示測試數據的組數隨后的s行, 每行有兩個整數n,m。輸出
輸出m的個數。樣例輸入
2 100 5 16 2樣例輸出
24 15======================================================================
解題思路:
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<m時結果是0 不加進去不影響結果且循環結束
=====================================================================
代碼如下:
#include <stdio.h> int main() {int t,m,n,sum;scanf("%d",&t);while(t--){sum = 0;scanf("%d%d", &m, &n);while(m){sum += m/n;m = m/n;}printf("%d\n", sum);}return 0; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的阶乘因式分解(一) -- ACM解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女性多囊卵巢怎么引起的
- 下一篇: 查找杀人凶手