输出2到n之间的全部素数
时间: 2023-09-28 21:05:19 浏览: 115
以下是使用Python语言编写的输出2到n之间的全部素数的程序:
```python
def find_primes(n):
"""
输出2到n之间的全部素数
"""
primes = []
for num in range(2, n+1):
for i in range(2, num):
if (num % i) == 0:
break
else:
primes.append(num)
return primes
n = int(input("请输入一个正整数n:"))
primes = find_primes(n)
print("2到{}之间的全部素数为:{}".format(n, primes))
```
运行程序后,输入一个正整数n,程序会输出2到n之间的全部素数。例如,当输入10时,程序会输出:
```
2到10之间的全部素数为:[2, 3, 5, 7]
```
注意:该程序的时间复杂度为O(n^2),当n很大时,程序运行时间会比较长。可以使用更高效的算法来优化程序性能。
相关问题
python代码输出2到n之间的素数
当然,我很乐意回答你的问题。以下是Python代码,可以输出2到n之间的素数:
```
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def get_primes(n):
primes = []
for num in range(2, n):
if is_prime(num):
primes.append(num)
return primes
n = int(input("请输入一个正整数n:"))
print(f"2到{n}之间的素数是:", get_primes(n))
```
你可以运行这段代码并输入你想查询的正整数n,就可以得到2到n之间的素数了。希望我的回答能帮助到你。
c语言输出1到n之间的素数
以下是一个输出1到n之间的素数的C语言程序:
```c
#include <stdio.h>
int isPrime(int num) {
if (num < 2) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
void printPrimes(int n) {
for (int i = 2; i <= n; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("1到%d之间的素数为:", n);
printPrimes(n);
return 0;
}
```
这个程序使用 `isPrime()` 函数判断一个数是否是素数,对于每个大于等于2的数,判断其是否能够被2到根号下该数的所有正整数整除,如果有整除的情况,则该数不是素数。如果该数不能被2到根号下该数的所有正整数整除,则该数是素数。
使用 `printPrimes()` 函数输出1到n之间的素数。在 `main()` 函数中,读取用户输入的正整数n,然后调用 `printPrimes()` 函数输出1到n之间的素数。