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

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int N,m,n,i,count;
 6     cin>>N;
 7     while(N--)
 8     {
 9         count=0;
10         cin>>n>>m;
11         for(i=1;i*m<=n;i++)
12         {
13             count++;
14             int temp=i;
15             while(temp%m==0)
16             {
17                 count++;
18                 temp/=m;    
19             }
20 
21         }
22         cout<<count<<endl;
23     }
24     return 0;
25 }

 

posted @ 2015-02-28 10:49  Tiey  阅读(181)  评论(0编辑  收藏  举报