用for求100以内的素数
时间: 2024-10-14 16:13:56 浏览: 21
用for循环求100以内的素数的一种常见算法是埃拉托斯特尼筛法。以下是简单的步骤:
```python
def find_primes(n):
# 创建一个布尔列表,所有数最初被视为质数(True)
primes = [True] * (n+1)
primes[0], primes[1] = False, False # 0和1不是质数
# 遍历从2到sqrt(n),对于每个数i,如果它是质数,则将它的倍数标记为非质数
for i in range(2, int(n**0.5) + 1):
if primes[i]:
for j in range(i*i, n+1, i): # 只需要检查i的倍数,因为大于i的倍数已经在之前被处理过了
primes[j] = False
# 返回索引为True的数,它们就是100以内的素数
return [i for i, is_prime in enumerate(primes) if is_prime]
# 获取100以内的素数
primes_under_100 = find_primes(100)
相关问题
java用for求100以内素数的和
可以使用以下代码来求解:
int sum = 0;
for(int i=2; i<=100; i++){
boolean isPrime = true;
for(int j=2; j<=Math.sqrt(i); j++){
if(i%j==0){
isPrime = false;
break;
}
}
if(isPrime){
sum += i;
}
}
最终得到的sum就是100以内素数的和。
Python用for求100以内的素数
好的,您可以参考以下代码实现:
```
# 定义一个用于判断素数的函数
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 使用 for 循环求 100 以内的素数
primes = []
for i in range(2, 101):
if is_prime(i):
primes.append(i)
print(primes) # 输出结果为 [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]
```
上述代码定义了一个判断素数的函数is_prime(num),然后使用for循环遍历2~100范围内的整数,将素数添加到一个列表中,并最终输出结果。
阅读全文