//从m连乘到n,判断结果0的个数
//主要就是找10倍数的个数,以及乘积只有偶数*5才能得到0的特征,那么就找m与n之间5的个数以及偶数个数,取最少的那个。
#include <iostream>
using namespace std;
int numofzero(int m, int n){
int numoften = 0;
int numoftwo = 0;
int numoffive = 0;
for(int k = m; k <= n; k++){
if(k % 10 == 0){
numoften++;
continue;
}
if(k % 5 == 0)
numoffive++;
if(k % 2 == 0)
numoftwo++;
}
return numoften + min(numoftwo,numoffive);
}
int main()
{
cout<<numofzero(1,20)<<endl;
cin.get();
return 0;
}
从m连乘到n,判断结果0的个数
最新推荐文章于 2021-05-20 06:02:47 发布