nyoj 56 阶乘因式分解(一)

 

 

阶乘因式分解(一)

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

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

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

 
输入
第一行是一个整数s(0<s<=100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。
输出
输出m的个数。
样例输入
2
100 5
16 2
样例输出
24
15
来源
网络
上传者
苗栋栋
看过组合数学的同学应该都会做 这是组合数学的一个例题
还有像N!有尾部多少个0 也是类似的直接一直往下除
应该比较容易理解
View Code
 1  
 2 #include <iostream>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     int s;
 8     cin>>s;
 9     while (s--)
10     {
11         int m,n;
12         int t=0;
13         cin>>n>>m;
14         while (n)
15         {
16             t+=n/m;
17             n=n/m;
18         }
19         cout<<t<<endl;
20 
21     }
22     
23     return 0;
24 }        

 

posted on 2012-08-13 20:40  不悔梦归处  阅读(591)  评论(0编辑  收藏  举报

导航