这道题怎么做?
如图 至少 60% 数据 n <= 200而 200 的乘积有 375 个数字,是个极大数值,一般方法行不通 本帖最后由 jhq999 于 2022-5-30 06:22 编辑
////先统计每个数末尾的0的个数,再统计去零后分解多少个5,在统计末尾不是0的偶数分解多少个2,比较5和2的个数取小值,加上前面统计的零的个数就是
//////6250 =》5*5*5*5*10 *2 *2*2*2=100,000
//////当然你也可以把10分解成2*5,但没有意义
/////还有这个样例很low
int count=0,numendis0=0,numendis2=0,numendis5=0,num=0;
for(i=0;i<n;i++)
{
num=a;
while(0==num%10)
{
count++;
num/=10;
}
while(0==num%5)
{
numendis5++;
num/=5;
}
while(0==num%2)
{
numendis2++;
num/=2;
}
}
count+=numendis2>numendis5?numendis5:numendis2;
页:
[1]