用简单C语言写10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?
时间: 2024-03-29 12:39:07 浏览: 138
python 给你一个正整数列表 L, 输出L内所有数字的乘积末尾0的个数
好的,这是一个有趣的问题!以下是我的解答:
```c
#include <stdio.h>
int main() {
int nums[10][10] = {{1,2,3,4,5,6,7,8,9,0},
{0,9,8,7,6,5,4,3,2,1},
{1,3,5,7,9,2,4,6,8,0},
{0,8,6,4,2,9,7,5,3,1},
{1,4,7,0,3,6,9,2,5,8},
{0,7,4,1,8,5,2,9,6,3},
{1,5,9,4,8,3,7,2,6,0},
{0,6,2,8,4,1,7,3,9,5},
{1,7,3,9,5,2,8,4,0,6},
{0,5,1,6,2,7,3,8,4,9}};
int i, j, zero_cnt = 0;
long long product = 1;
for (i = 0; i < 10; i++) {
for (j = 0; j < 10; j++) {
product *= nums[i][j];
}
}
while (product % 10 == 0) {
zero_cnt++;
product /= 10;
}
printf("乘积末尾有 %d 个零。\n", zero_cnt);
return 0;
}
```
这个程序中,我们定义了一个 $10\times10$ 的二维数组 `nums`,用于存放这 10 行数据。我们利用两个循环来遍历这个数组,然后计算所有整数的乘积。接下来,我们用一个 `while` 循环来计算这个乘积的末尾有多少个零,直到乘积不再以 $0$ 结尾。最后,我们输出结果。
需要注意的是,由于乘积可能非常大,如果将 `product` 定义为 `int` 类型,则可能会导致溢出。因此,我们将 `product` 定义为 `long long` 类型,以确保计算结果的正确性。
希望我的回答能够帮到你!
阅读全文