C语言找出100-200素数
时间: 2024-12-04 19:21:52 浏览: 11
在C语言中,找出100到200之间的素数,可以使用嵌套循环和条件判断的方式来实现。素数是指大于1的自然数,除了1和它本身以外不再有其他正因数。下面是一个简单的示例程序:
```c
#include <stdio.h>
// 判断是否为素数的函数
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
// 找出指定范围内的素数
void find_primes_in_range(int start, int end) {
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
printf("%d ", i); // 输出素数
}
}
}
int main() {
int start = 100;
int end = 200;
printf("Prime numbers between %d and %d are:\n", start, end);
find_primes_in_range(start, end);
return 0;
}
```
当你运行这个程序时,它会打印出100到200之间的所有素数。
相关问题
c语言,输出100-200间的素数
在C语言中,你可以编写一个程序来找出100到200之间的所有素数。素数是指只有两个正因数(1和自身)的自然数。以下是简单的算法和代码示例:
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
int isPrime(int num) {
if (num <= 1) return 0; // 小于等于1的不是素数
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return 0; // 能被整除,则不是素数
}
return 1; // 否则是素数
}
int main() {
int start = 100;
int end = 200;
printf("素数在%d到%d之间的有:\n", start, end);
// 遍历范围内的每一个数字,如果是素数,打印出来
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
return 0;
}
```
当你运行这段代码,它将输出100到200之间所有的素数。
用c语言找出1-100之间的质数程序
在C语言中,寻找1到100之间的所有质数可以使用经典的“埃拉托斯特尼筛法”(Sieve of Eratosthenes)。这个算法通过依次排除能被已知质数整除的所有数字来找到剩余的质数。
以下是简单实现的C代码:
```c
#include <stdio.h>
// 判断是否为质数
int isPrime(int num) {
if (num <= 1) return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return 0;
}
return 1;
}
void findPrimes(int n) {
int primes[n+1]; // 初始化一个大小为n+1的布尔数组,primes[i]表示i是否为质数
for (int i = 2; i <= n; i++) {
primes[i] = 1; // 假设每个数都是质数
}
for (int p = 2; p*p <= n; p++) { // 遍历到√n
if (primes[p]) { // 如果p是质数
for (int i = p*p; i <= n; i += p) {
primes[i] = 0; // 将p的倍数标记为非质数
}
}
}
// 打印质数
for (int i = 2; i <= n; i++) {
if (primes[i]) printf("%d ", i);
}
}
int main() {
findPrimes(100); // 寻找1到100之间的质数
return 0;
}
阅读全文