求乘积里面有多少个零!
程序员文章站
2022-06-17 15:00:46
...
求十进制乘积里面有多少个零,只需要要分解因数,统计有多少个2和5
所以求六进制,则统计有多少个2和3;
试题G:冷门进制 20’
描述
六进制对于研究素数是很有用的,因为所有的素数,除了22和33以外,在六进制下的个位都是11或55。现给出nn个数a_ia
i
,编程计算\prod_{i=0}^n {a_i}∏
i=0
n
a
i
的答案转换成66进制后,数字末尾有多少个00?
注: \prod∏是数学上的累乘符号,\prod_{i=0}^n {a_i}∏
i=0
n
a
i
等于数组aa内的所有元素相乘
输入
第一行读入一个正整数nn
第二行读入nn个正整数a_ia
i
输出
输出一个整数表示结果
样例
输入复制
2
2 9
输出复制
1
输入复制
3
8 8 8
输出复制
0
提示
数据规模
对于10%10%的数据,1≤n≤10,1≤a_i≤101≤n≤10,1≤a
i
≤10
对于30%30%的数据,1≤n≤1000,1≤a_i≤100001≤n≤1000,1≤a
i
≤10000
对于100%100%的数据,1≤n≤105,1≤a_i≤1071≤n≤10
5
,1≤a
i
≤10
7
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const int n=100000+5;
int a[n] ;
int b;
int c2=0;
int c3=0;
int main()
{
cin>>b;
for(int i=1;i<=b;i++)
{
cin>>a[i];
}
for(int i=1;i<=b;i++)
{
while(a[i]%2==0)
{
a[i]/=2;
c2++;
}
while(a[i]%3==0)
{
a[i]/=3;
c3++;
}
}
c2=min(c2,c3);
cout<<c2;
return 0;
}