乘积尾零啊填空题)

简介: 乘积尾零啊填空题)

乘积尾零

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

如下的 10 行数据,每行有 10 个整数,请你求出它们的乘积的末尾有多少个零?

的乘积的末尾有多少个零?
5650 4542 3554 473 946 411438719073 90
4329
2758
7949 611356595245 7432 30514434 6704
3594
9937 11736866339747597557307022871453
9899
1486 5722 3135 1170401455105120 729 2880
9019
2049
698 458243464427646974273401230
7683
5693 7015688773814172 43412909 20277355
5649
6701
6645 16715978 2704 9926295 3125 3878
6785
2066
4247 480015786652461611136205 3264
2915
3966 5291 29041285 2193 14282265 8730 9436
7074
689 5510 8243 6114337 4096 8199 7313 3685211

解题思路

题意是让求这一百个数字相乘,乘积会有多少个0,我们应该想到,2*5末尾为0,所以求出改数字对2和对5求余为0的有多少个,最后答案,应该是2和5个数的最小值。

代码如下

#include <bits/stdc++.h>
using namespace std;

int main(){
  int cnt2 = 0, cnt5 = 0;
  for(int i = 1; i <= 10; i++){
    for(int j = 1; j <= 10; j++){
      int x;
      cin >> x;
      while(x % 2 == 0) cnt2++,x/=2;
      while(x % 5 == 0) cnt5++,x/=5;
    }
  }
  cout << min(cnt2, cnt5) << "\n";
  return 0;
}


相关文章
|
6月前
|
存储
【每日一题Day254】LC445两数相加Ⅱ | 链表反转 栈
【每日一题Day254】LC445两数相加Ⅱ | 链表反转 栈
44 0
|
算法 测试技术 C++
C++二分算法习题:判断是否是完全平方数[容易]和排列箱子[容易]
C++二分算法习题:判断是否是完全平方数[容易]和排列箱子[容易]
|
存储 索引
【Leetcode -141.环形链表 -2.两数相加】
【Leetcode -141.环形链表 -2.两数相加】
27 0
|
6月前
|
存储 算法 索引
【力扣刷题】只出现一次的数字、多数元素、环形链表 II、两数相加
【力扣刷题】只出现一次的数字、多数元素、环形链表 II、两数相加
51 1
(牛客网)链表相加(二)
假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。
54 0
|
6月前
【Leetcode 2807】在链表中插入最大公约数 ——链表|数论
链表插入的基础操作:每次在原链表的相邻两个节点中插入一个新的节点,新节点的值为相邻两个节点的最大公约数,最后返回新的链表即可
|
6月前
【每日一题Day192】LC1033移动石子直到连续 | 分类讨论 贪心
【每日一题Day192】LC1033移动石子直到连续 | 分类讨论 贪心
32 0
|
6月前
|
算法 程序员
【算法训练-链表 五】【链表求和】:链表相加(逆序)、链表相加II(顺序)
【算法训练-链表 五】【链表求和】:链表相加(逆序)、链表相加II(顺序)
106 0
|
存储
第二期:链表经典例题(两数相加,删除链表倒数第N个节点,合并两个有序列表)
第二期:链表经典例题(两数相加,删除链表倒数第N个节点,合并两个有序列表)
86 0