#include<stdio.h>
int main()
{
int s,m,n,sum,j,i;
scanf("%d",&s);
while(s--)
{ j=0;
sum=1;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
sum=sum*i;
while(sum%m==0&&sum>=m)
{
j=j+1;
sum=sum/m;
}
printf("%d\n",j);
}
return 0;
}只有第二组数据可以第一组不可以
2
100 5
16 2
我明白了,第一组数太大溢出