先输入a=100,b=5;a!=1*2*3*.....99*100;a/b是5,10,15...95,100中b的个数,存在flag中,再一次a/b是因为25,50,75,100,
中有两个b;如果还有就需要再次a/b;最后输出flag的值;代码如下:
#include <string.h>
#include <math.h>
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int a;
scanf("%d",&a);
int b,flag;
flag=0;
scanf("%d",&b);
while(1)
{
flag+=a/b;
a=a/b;
if(a==0)
break;
}
printf("%d\n",flag);
}
}
本文介绍了一种计算特定数字在n!(n的阶乘)中出现次数的方法。通过不断除以该数字直至商为0,可以确定其出现的总次数。此过程特别适用于找出5的幂次,因为这有助于确定n!尾部0的数量。
639

被折叠的 条评论
为什么被折叠?



