输出100-1000之间所有素数
时间: 2024-10-21 22:12:23 浏览: 19
输出100到1000之间的所有素数是一个常见的数学和编程练习。素数是指大于1的自然数,除了1和它本身以外不再有其他因数。以下是Python的一个简单示例,使用了埃拉托斯特尼筛法(Sieve of Eratosthenes)来找到这个范围内的素数:
```python
def find_primes(start, end):
primes = []
is_prime = [True] * (end + 1)
is_prime[0] = is_prime[1] = False
for num in range(2, int(end ** 0.5) + 1):
if is_prime[num]:
for multiple in range(num*num, end + 1, num):
is_prime[multiple] = False
for num in range(start, end + 1):
if is_prime[num]:
primes.append(num)
return primes
prime_numbers = find_primes(100, 1000)
print("100到1000之间的素数:", prime_numbers)
相关问题
用c语言输出100-1000 之间的水仙花数,输出100-1000 之间的素数
在C语言中,我们可以编写两个函数分别用于检查数字是否是水仙花数(又称哈士其数)以及素数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 检查一个数字是否是水仙花数
bool is_armstrong(int num) {
int original_num = num;
int sum = 0;
while (num != 0) {
int digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
return original_num == sum;
}
// 检查一个数字是否是素数
bool is_prime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
int main() {
// 输出100到1000之间的水仙花数
printf("水仙花数(100-1000):\n");
for (int i = 100; i <= 1000; i++) {
if (is_armstrong(i))
printf("%d ", i);
}
// 输出100到1000之间的素数
printf("\n素数(100-1000):\n");
for (int i = 100; i <= 1000; i++) {
if (is_prime(i))
printf("%d ", i);
}
return 0;
}
```
在这个程序中,`is_armstrong()` 函数计算输入数字各位立方之和,如果等于原数字,则是水仙花数。而 `is_prime()` 则通过循环遍历判断一个数字是否有除1和自身以外的因子。
用java实现输出100-300之间所有质数
在Java中,我们可以编写一个简单的函数来找出100到300之间的所有质数。质数是指只有两个正因数(1和本身)的大于1的自然数。以下是实现这个功能的一个示例:
```java
public class PrimeNumbers {
public static void main(String[] args) {
printPrimeNumbersInRange(100, 300);
}
// 函数用于检查一个数是否为质数
public static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) { // 只需检查到数的平方根即可
if (num % i == 0) {
return false;
}
}
return true;
}
// 打印指定范围内的所有质数
public static void printPrimeNumbersInRange(int start, int end) {
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
System.out.print(i + " ");
}
}
System.out.println();
}
}
```
当运行上述代码时,它会打印出100到300之间所有的质数。
阅读全文