solution.md 2.8 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
1
# 乘积尾零
F
fix bug  
feilong 已提交
2

每日一练社区's avatar
每日一练社区 已提交
3
如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?
每日一练社区's avatar
每日一练社区 已提交
4

每日一练社区's avatar
每日一练社区 已提交
5 6 7 8 9 10 11 12 13 14 15 16 17
```
5650 4542 3554 473 946 4114 3871 9073 90 4329
2758 7949 6113 5659 5245 7432 3051 4434 6704 3594
9937 1173 6866 3397 4759 7557 3070 2287 1453 9899
1486 5722 3135 1170 4014 5510 5120 729 2880 9019
2049 698 4582 4346 4427 646 9742 7340 1230 7683
5693 7015 6887 7381 4172 4341 2909 2027 7355 5649
6701 6645 1671 5978 2704 9926 295 3125 3878 6785
2066 4247 4800 1578 6652 4616 1113 6205 3264 2915
3966 5291 2904 1285 2193 1428 2265 8730 9436 7074
689 5510 8243 6114 337 4096 8199 7313 3685 211
```

每日一练社区's avatar
每日一练社区 已提交
18
以下<span style="color:red">错误</span>的选项是?
每日一练社区's avatar
每日一练社区 已提交
19

每日一练社区's avatar
每日一练社区 已提交
20
## aop
F
fix bug  
feilong 已提交
21

每日一练社区's avatar
每日一练社区 已提交
22
### before
F
fix bug  
feilong 已提交
23

每日一练社区's avatar
每日一练社区 已提交
24
```cpp
每日一练社区's avatar
每日一练社区 已提交
25
#include <bits/stdc++.h>
每日一练社区's avatar
每日一练社区 已提交
26 27
using namespace std;
```
每日一练社区's avatar
每日一练社区 已提交
28

每日一练社区's avatar
每日一练社区 已提交
29
### after
F
fix bug  
feilong 已提交
30

每日一练社区's avatar
每日一练社区 已提交
31 32 33 34 35
```cpp

```

## 答案
F
fix bug  
feilong 已提交
36

每日一练社区's avatar
每日一练社区 已提交
37 38 39 40 41 42 43 44 45 46 47
```cpp
int main()
{
    int count2 = 0, count5 = 0;
    int num;
    for (int i = 0; i < 100; i++)
    {
        cin >> num;
        while (num % 5 == 0)
        {
            count5++;
每日一练社区's avatar
每日一练社区 已提交
48
            num %= 5;
每日一练社区's avatar
每日一练社区 已提交
49 50 51 52
        }
        while (num % 2 == 0)
        {
            count2++;
每日一练社区's avatar
每日一练社区 已提交
53
            num %= 2;
每日一练社区's avatar
每日一练社区 已提交
54 55 56 57 58 59 60 61 62
        }
    }
    int ans = count2 < count5 ? count2 : count5;
    cout << ans;
    return 0;
}
```
## 选项

F
fix bug  
feilong 已提交
63

每日一练社区's avatar
每日一练社区 已提交
64
### A
F
fix bug  
feilong 已提交
65

每日一练社区's avatar
每日一练社区 已提交
66 67 68
```cpp
int main()
{
每日一练社区's avatar
每日一练社区 已提交
69 70

    long long int a, sum = 1, aum = 0;
每日一练社区's avatar
每日一练社区 已提交
71 72
    for (int i = 0; i < 100; i++)
    {
每日一练社区's avatar
每日一练社区 已提交
73 74 75
        cin >> a;
        sum = sum * a;
        while ((sum % 10) == 0)
每日一练社区's avatar
每日一练社区 已提交
76
        {
每日一练社区's avatar
每日一练社区 已提交
77 78
            sum = sum / 10;
            aum++;
每日一练社区's avatar
每日一练社区 已提交
79
        }
每日一练社区's avatar
每日一练社区 已提交
80
        sum = sum % 10000;
每日一练社区's avatar
每日一练社区 已提交
81
    }
每日一练社区's avatar
每日一练社区 已提交
82
    printf("%lld", aum);
每日一练社区's avatar
每日一练社区 已提交
83 84 85 86 87
    return 0;
}
```

### B
F
fix bug  
feilong 已提交
88

每日一练社区's avatar
每日一练社区 已提交
89
```cpp
每日一练社区's avatar
每日一练社区 已提交
90 91 92 93 94 95 96 97 98 99
int a[] = {5650, 4542, 3554, 473, 946, 4114, 3871, 9073, 90, 4329,
           2758, 7949, 6113, 5659, 5245, 7432, 3051, 4434, 6704, 3594,
           9937, 1173, 6866, 3397, 4759, 7557, 3070, 2287, 1453, 9899,
           1486, 5722, 3135, 1170, 4014, 5510, 5120, 729, 2880, 9019,
           2049, 698, 4582, 4346, 4427, 646, 9742, 7340, 1230, 7683,
           5693, 7015, 6887, 7381, 4172, 4341, 2909, 2027, 7355, 5649,
           6701, 6645, 1671, 5978, 2704, 9926, 295, 3125, 3878, 6785,
           2066, 4247, 4800, 1578, 6652, 4616, 1113, 6205, 3264, 2915,
           3966, 5291, 2904, 1285, 2193, 1428, 2265, 8730, 9436, 7074,
           689, 5510, 8243, 6114, 337, 4096, 8199, 7313, 3685, 211};
每日一练社区's avatar
每日一练社区 已提交
100 101
int main()
{
每日一练社区's avatar
每日一练社区 已提交
102
    int k1 = 0, k2 = 0;
每日一练社区's avatar
每日一练社区 已提交
103 104
    for (int i = 0; i < 100; i++)
    {
每日一练社区's avatar
每日一练社区 已提交
105 106 107 108
        while (!(a[i] % 2))
            a[i] /= 2, k1++;
        while (!(a[i] % 5))
            a[i] /= 5, k2++;
每日一练社区's avatar
每日一练社区 已提交
109
    }
每日一练社区's avatar
每日一练社区 已提交
110 111
    cout << min(k1, k2);

每日一练社区's avatar
每日一练社区 已提交
112 113 114 115 116
    return 0;
}
```

### C
F
fix bug  
feilong 已提交
117

每日一练社区's avatar
每日一练社区 已提交
118 119 120
```cpp
int main()
{
每日一练社区's avatar
每日一练社区 已提交
121 122 123
    int t_cnt, f_cnt, data = 0;
    t_cnt = f_cnt = 0;

每日一练社区's avatar
每日一练社区 已提交
124 125
    for (int i = 0; i < 100; i++)
    {
每日一练社区's avatar
每日一练社区 已提交
126 127
        cin >> data;
        while (data % 5 == 0)
每日一练社区's avatar
每日一练社区 已提交
128
        {
每日一练社区's avatar
每日一练社区 已提交
129 130
            f_cnt++;
            data /= 5;
每日一练社区's avatar
每日一练社区 已提交
131
        }
每日一练社区's avatar
每日一练社区 已提交
132
        while (data % 2 == 0)
每日一练社区's avatar
每日一练社区 已提交
133
        {
每日一练社区's avatar
每日一练社区 已提交
134 135
            t_cnt++;
            data /= 2;
每日一练社区's avatar
每日一练社区 已提交
136 137
        }
    }
每日一练社区's avatar
每日一练社区 已提交
138 139
    cout << min(t_cnt, f_cnt) << endl;

每日一练社区's avatar
每日一练社区 已提交
140 141 142
    return 0;
}
```