给定两个数m,n,其中m是一个素数。
将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。
2 100 5 16 2
24 15
#include <iostream> #include <cstring> #include <string> using namespace std; int main() { int s,n,m,ans; cin>>s; while(s--) { cin>>n>>m; ans=0; if(n<2) cout<<ans<<endl; else { for(int i=2;i<=n;i++) { int t=i; while(!(t%m)) { ++ans; t/=m; } } } cout<<ans<<endl; } return 0; }
原文地址:http://blog.csdn.net/u011694809/article/details/46505105