c语言输出素数2~1000
时间: 2023-05-08 13:55:44 浏览: 189
本题要求使用C语言输出2到1000之间的素数。素数是指只能被1和自身整除的数,因此可以通过循环遍历每一个数字,判断其是否为素数。
具体实现:
1. 定义一个函数isPrime(n),用于判断n是否为素数。遍历2到n-1之间的每一个数字,如果有任意一个数字可以整除n,则说明n不是素数,返回0,否则说明n是素数,返回1。
2. 在主函数中,遍历2到1000之间的每一个数字,如果它是素数,就将它输出。
代码实现:
```c
#include <stdio.h>
// 判断一个数是否为素数
int isPrime(int n)
{
for(int i=2; i<n; i++)
{
if(n%i == 0)
return 0; // 可以被i整除,不是素数
}
return 1; // 不能被任何数字整除,是素数
}
int main()
{
printf("2 "); // 2是素数,特殊处理一下
for(int i=3; i<=1000; i++)
{
if(isPrime(i))
printf("%d ", i); // 输出素数
}
return 0;
}
```
输出结果:
2 3 5 7 11 13 …… 997
以上就是本题的实现过程,通过定义一个isPrime()函数,循环遍历所有数字并判断素数,最终输出2到1000之间的素数。
相关问题
C语言输出2~10的素数
```
#include <stdio.h>
int isPrime(int num) {
int i;
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int i;
for (i = 2; i <= 10; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
输出:
```
2 3 5 7
```
用C语言求出100~1000内所有素数
好的,下面是代码实现:
```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() {
for (int i = 100; i <= 1000; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
首先,我们需要一个判断一个数是否为素数的函数 `is_prime`,它的实现方式是从 2 开始枚举到 $\sqrt{n}$,如果在该范围内存在一个数能够整除 $n$,则 $n$ 不是素数,否则 $n$ 是素数。
接着,在主函数中,我们从 100 开始枚举到 1000,对于每个数,如果它是素数,则输出它。
最后,记得换行。