阶乘因式分解(二) http://acm.nyist.net/JudgeOnline/problem.php?pid=70

 

阶乘因式分解(二)

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
 
描述

给定两个数n,m,其中m是一个素数。

将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m。

注:^为求幂符号。

 

 

 
输入
第一行是一个整数s(0<s<=100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。
输出
输出m的个数
样例输入
3
100 5
16 2
1000000000  13
样例输出
24
15
83333329
来源
[苗栋栋]原创
上传者
苗栋栋
#include<stdio.h>
int main()
{
	int s;
	scanf("%d",&s);
	while(s--)
	{
		int i,n,m,a=0,b=0,c=0;
		int count=0;
		scanf("%d %d",&n,&m);
		while(n!=0)
		{
			count+=n/m;
			n=n/m;
		}
		printf("%d\n",count);
	}
	return 0;
}

解决这道题的原理很简单,就是看看n里面有几个m,m*m,m*m*m...,
 

posted @ 2013-08-19 21:38  王莜轩  阅读(176)  评论(0编辑  收藏  举报