c++
统计相乘的数中2和5作为因子各有多少个,取最少的那个
#include<bits/stdc++.h>
using namespace std;
int main(void){
int cnt5 = 0,cnt2 = 0,cnt = 0;
for(int i=0;i<5;++i){//控制生成个数
srand(i);
int x=(rand() % (100-10))+ 10;//用于生成10 到 99范围内的随机数
cout<<x<<endl;
while(x%5 == 0){
cnt5++;
x/=5;
}
while(x%2==0){
cnt2++;
x/=2;
}
}
if(cnt5<=cnt2){
cnt=cnt5;
}
else{
cnt=cnt2;
}
cout<<"***"<<cnt<<"***"<<endl;
return 0;
}
python
对于大数,python中的大数不会溢出,直接数即可
n=[48,51,55,58,61,64,68,71,74,78]
res=1
for i in n:
res=res*i
cnt=0
print(res)
if(res==0):
print(1)
else:
while(res>=1):
if res%10==0:
cnt+=1
res=res/10
print(cnt)