输入n个不大于10的正整数。要求全部储存在数组中,去除掉不是质数的数]数字,依次输出剩余的
时间: 2024-06-13 16:05:17 浏览: 12
输入n个不大于10的正整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。
```python
# Python代码
import math
def is_prime(num):
if num < 2:
return False
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
n = int(input())
nums = list(map(int, input().split()))
for num in nums:
if is_prime(num):
print(num)
```
相关问题
# 【深基7.例2】质数筛 ## 题目描述 输入 $n$ 个不大于 $10^5$ 的正整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。 ## 输入格式 第一行输入一个正整数 $n$,表示整数个数。 第二行输入 $n$ 个正整数 $a_i$,以空格隔开。 ## 输出格式 输出一行,依次输出 $a_i$ 中剩余的质数,以空格隔开。 ## 样例 #1 ### 样例输入 #1 ``` 5 3 4 5 6 7 ``` ### 样例输出 #1 ``` 3 5 7 ``` ## 提示 数据保证,$1\le n\le100$,$1 \leq a_i \leq 10^5$。
这是一个质数筛的问题。你需要将输入的正整数中的非质数去除,然后输出剩余的质数。你可以使用以下步骤来解决这个问题:
1. 创建一个长度为 $10^5$ 的布尔数组 `isPrime`,用来记录每个数字是否为质数。初始时,将所有元素设置为 `true`。
2. 将 `isPrime[0]` 和 `isPrime[1]` 设置为 `false`,因为它们不是质数。
3. 从 $2$ 开始遍历到 $10^5$,将所有能被当前数字整除的数字标记为非质数,即将对应位置的 `isPrime` 设置为 `false`。
4. 遍历输入的正整数数组,输出其中 `isPrime` 对应位置为 `true` 的数字。
按照这个思路,你可以实现以下代码来解决这个问题:
js在浏览器中输入5个整数,保存到数组中,若输入的不是数字就提示输入错误,直到
要实现这个功能,我们可以使用 JavaScript 中的 prompt() 方法来获取用户输入的数据。首先,我们需要创建一个空数组,然后在循环语句中使用 prompt() 方法来获取用户输入的数据,并使用 isNaN() 方法来判断输入的是否为数字,如果是数字,则将其存入数组中,否则提示用户输入错误,并重新获取输入。直到数组中存储了5个数字为止。下面是代码实现:
```javascript
// 创建一个空数组
var arr = [];
// 循环5次获取用户输入的数字
for(var i = 0; i < 5;) {
var num = prompt("请输入第" + (i+1) + "个整数:");
// 判断输入是否为数字
if(!isNaN(num)) {
arr.push(parseInt(num)); // 存储数字到数组中
i++; // 数组下标自增
} else {
alert("输入错误,请重新输入!"); // 提示用户输入错误
}
}
console.log(arr); // 输出存储的数组
```
在这段代码中,我们先创建了一个名为 arr 的空数组。在 for 循环语句中,我们使用 prompt() 方法获取用户输入的数据,判断其是否为数字,如果是,则使用 parseInt() 方法将其转换成整数类型,并使用 push() 方法将其存储到数组中。如果输入错误,则使用 alert() 方法提示用户重新输入。最后,我们使用 console.log() 方法输出存储的数组。
该功能可以让用户输入指定数量的整数,并保证用户输入的数据类型正确,具有很好的实用性。