【南陽理工】 56 階乘因式分解(一)

描述

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

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

輸入
第一行是一個整數s(0<s<=100),表示測試數據的組數
隨後的s行, 每行有兩個整數n,m。
輸出
輸出m的個數。
樣例輸入
2
100 5
16 2
樣例輸出
24
15
來源
網絡
上傳者
苗棟棟
AC代碼:
 
#include<cstdio>
int n,m,t;
int xx(int n)
{
	int ans=0;
	for(int i=2;i<=n;i++)
	{
		while(n!=i)
		{
			if(n%i==0)
			{
				if(i==m)
					ans++;	
				n/=i;
			}
			else 
			    break;
		}
	}
	if(n==m) ans++;
	return ans;	
}
int main()
{
	
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d %d",&n,&m);
		int sum=0;
		while(n>1)
		{
			sum+=xx(n);
			n--;
		}
		printf("%d\n",sum);
	}
	
	
	return 0;
 }         


發佈了52 篇原創文章 · 獲贊 0 · 訪問量 8950
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章