题目:如下的 10 行数据,每行有 10 个整数,请你求出它们的乘积的末尾有多少个零?
思路:计算有多少个零,就是看这些数字的乘积里面有多少个十,10=2*5,看每个数字里面有多少个2和5
核心代码:
while(a%2==0) {x2++; a=a/2;} //注意while循环和if循环的区别
while(a%5==0) {x5++; a=a/5;}
注意:这里只能用while,不能用if。
while循环:若满足条件就一直持续循环,直到不满足循环条件。大于等于一次判断
if判断:为判断语句,若满足条件,则执行一次并推出。只进行一次判断
全部代码
#include <iostream>
using namespace std;
int main()
{
// 请在此输入您的代码
int a,x2=0,x5=0;
for(int i=1;i<=100;i++){
cin>>a;
while(a%2==0) {x2++; a=a/2;} //注意while循环和if循环的区别
while(a%5==0) {x5++; a=a/5;}
}
cout<<min(x2,x5);
return 0;
}