输入两个整型数组数字组将两个整型数字组按顺序组合,并通过过滤重新复合数字组元
时间: 2023-05-26 07:07:53 浏览: 96
素,输出结果。
示例:
输入:
arr1 = [1, 2, 3, 4]
arr2 = [5, 6, 7, 8]
输出:
[17, 23, 37, 46, 58, 67]
解释:
将arr1和arr2按顺序组合得到如下数字:
[15, 16, 17, 18, 25, 26, 27, 28, 35, 36, 37, 38, 45, 46, 47, 48]
然后过滤掉其中不是素数的数字,得到最终结果:
[17, 23, 37, 46, 58, 67]
解题思路:
题目要求我们将两个整型数组按顺序组合,这个过程可以暴力枚举,即用两个循环分别枚举arr1和arr2中的每个数字,并将它们拼接成一个新的数字,并将它加入到一个新的数组中。然后再遍历这个新数组,判断其中哪些数字是素数,将它们加入到最终结果中。
判断一个数是否是素数,可以对它进行试除法,即用2~sqrt(n)中的整数去除n,如果其中能整除n,则n不是素数;否则,n是素数。
相关问题
输入两个整形数组将两个整型数字组按顺序合并,并通过过滤掉重新复合数字组元素
重复的方式实现:
```python
def merge_and_filter(arr1, arr2):
merged_arr = arr1 + arr2
res = []
for i in merged_arr:
if i not in res:
res.append(i)
return res
```
例如,`arr1 = [1, 2, 3]`,`arr2 = [2, 3, 4]`,则调用`merge_and_filter(arr1, arr2)`将返回`[1, 2, 3, 4]`。
输入两个整型数组将两个整型数组按照升序合并,并且过滤掉重复数组元素
```python
def merge_sort(arr1, arr2):
# 合并两个数组
arr = arr1 + arr2
# 排序
arr.sort()
# 过滤重复元素
res = []
for i in arr:
if i not in res:
res.append(i)
return res
# 测试
arr1 = [1, 3, 5, 7, 9]
arr2 = [2, 4, 6, 8, 10]
print(merge_sort(arr1, arr2)) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
```