编写程序,输出1-100之间的所有素数,每行输出4个数。
时间: 2024-02-24 10:54:18 浏览: 67
以下是 Python 代码实现:
```python
def is_prime(n):
"""判断一个数是否为素数"""
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
count = 0 # 计数器,每行输出4个数
for i in range(1, 101):
if is_prime(i):
print(i, end=' ')
count += 1
if count == 4:
print() # 每行输出4个数
count = 0
```
输出结果如下:
```
2 3 5 7
11 13 17 19
23 29 31 37
41 43 47 53
59 61 67 71
73 79 83 89
97
```
相关问题
c编写程序,输出1-100之间的所有素数,每行输出4个数。
以下是 C 语言代码实现:
```c
#include <stdio.h>
int is_prime(int n) {
/* 判断一个数是否为素数 */
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int count = 0; // 计数器,每行输出4个数
for (int i = 1; i <= 100; i++) {
if (is_prime(i)) {
printf("%d ", i);
count++;
if (count == 4) {
printf("\n"); // 每行输出4个数
count = 0;
}
}
}
return 0;
}
```
输出结果和 Python 代码实现一致:
```
2 3 5 7
11 13 17 19
23 29 31 37
41 43 47 53
59 61 67 71
73 79 83 89
97
```
编写程序,输出1-100之间所有素数 易错点
在编写这个程序时,有几个易错点需要注意:
1. 判断素数时,需要循环到这个数的平方根,可以使用 `sqrt()` 函数来计算平方根。
2. 在内层循环中,需要使用 `else` 语句来判断循环是否被完整地执行了一次,如果是,则表示这个数是素数,否则不是素数。
3. 在循环时需要注意边界,包括循环的起始值和结束值,这里的起始值应该是2,结束值应该是101。
4. 需要注意程序的鲁棒性,如输入的数可能有误、输入的数不足10个等情况进行判断和处理。
以下是一个修正过易错点的 Python 的程序示例:
```python
from math import sqrt
for num in range(2, 101):
# 判断是否为素数
for i in range(2, int(sqrt(num))+1):
if num % i == 0:
break
else:
print(num)
```
程序的思路和之前的例子相同,不同的是在内层循环中使用了 `int(sqrt(num))+1` 来计算循环的结束值,并且使用了 `else` 语句来判断循环是否被完整地执行了一次。
阅读全文