如何使用数组中的所有元素生成对应乘法表
按指定规则生成数组乘法表
首先明确计算规则:
- 输入任意数值数组,例如参考样例数组为
[2, 3, 7, 8, 10] - 按数组原有顺序依次取出每个元素作为固定乘数,用这个乘数和数组内的每一个元素做乘法,得到一组乘积结果
- 所有元素都作为乘数完成一轮计算后,输出的所有乘积组就构成了目标乘法表
以样例数组为例,计算逻辑为:
- 取第一个元素2作为乘数,分别乘以数组内的2、3、7、8、10,得到结果组
[4, 6, 14, 16, 20] - 取第二个元素3作为乘数,分别乘以数组内的2、3、7、8、10,得到结果组
[6, 9, 21, 24, 30] - 后续依次取7、8、10作为乘数重复上述计算,直到所有元素遍历完成
代码实现(Python)
def build_multi_table(num_arr): multi_table = [] for multiplier in num_arr: current_line = [multiplier * num for num in num_arr] multi_table.append(current_line) return multi_table # 样例测试 if __name__ == "__main__": test_arr = [2, 3, 7, 8, 10] res_table = build_multi_table(test_arr) # 格式化输出结果 for idx, line in enumerate(res_table): print(f"乘数 {test_arr[idx]} 对应计算结果:{line}")
运行输出结果
乘数 2 对应计算结果:[4, 6, 14, 16, 20] 乘数 3 对应计算结果:[6, 9, 21, 24, 30] 乘数 7 对应计算结果:[14, 21, 49, 56, 70] 乘数 8 对应计算结果:[16, 24, 56, 64, 80] 乘数 10 对应计算结果:[20, 30, 70, 80, 100]
如果需要其他编程语言的实现,只需要保留双层遍历的核心逻辑,对应调整语法即可。
内容的提问来源于stack exchange,提问作者R0celot
相关产品推荐
相关产品推荐

