用C语言求出1000内所有素数
时间: 2023-10-07 18:05:09 浏览: 161
以下是用C语言求1000内所有素数的代码:
```c
#include <stdio.h>
int main()
{
int i, j, flag;
for (i = 2; i <= 1000; i++)
{
flag = 1; // 假设i是素数
for (j = 2; j <= i / 2; j++)
{
if (i % j == 0)
{
flag = 0; // i不是素数
break;
}
}
if (flag == 1)
{
printf("%d ", i);
}
}
return 0;
}
```
上述代码中,我们使用了两个循环来判断每个数是否为素数。外层循环遍历2到1000之间的所有数字,内层循环从2开始,到当前数字的一半为止,判断当前数字是否能被整除。如果能被整除,就说明当前数字不是素数,将`flag`设置为0,跳出内层循环。如果内层循环执行完毕后,`flag`的值仍为1,说明当前数字是素数,将其输出即可。
相关问题
用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,对于每个数,如果它是素数,则输出它。
最后,记得换行。
用C语言求出100~1000内所有素数(不用函数))
好的,下面是代码实现:
```c
#include <stdio.h>
int main() {
for (int i = 100; i <= 1000; i++) {
int is_prime = 1;
for (int j = 2; j * j <= i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
与使用函数的实现方式相比,这里我们直接在主函数中实现了判断一个数是否为素数的功能。具体来说,我们从 2 开始枚举到 $\sqrt{i}$,如果在该范围内存在一个数能够整除 $i$,则 $i$ 不是素数,否则 $i$ 是素数。
对于每个素数,我们输出它。最后,记得换行。
阅读全文