c语言100以内素数
时间: 2024-01-06 22:04:23 浏览: 85
以下是两种C语言求100以内素数的例子:
1.思路一:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int i, j;
printf("打印100以内所有素数:\n");
for (i = 2; i <= 100; i++) { //外循环从2遍历到100,可以修改范围输出不同范围内的素数
for (j = 2; j < i; j++) { //内循环通过大于1小于自身的因数进行依次取余判断,直到相除没有余数,跳出循环。
if (i % j == 0) {
break;
}
}
if (j == i) { //这个判断是重点,意思是在前面的条件成立的前提下除数和被除数相等的才为素数,例如12有3×4,但是不相等,例如13只有当i==j是即i==j==13时候才能成立
printf("%d ", i);
}
}
return 0;
}
```
2.思路二:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
bool isprime(int i) //判断是否是素数的自定义函数
{
int j;
for (j = 2; j <= sqrt(i); j++) { //for循环判断如果不是素数则返回0
if (i % j == 0) { //如果在i的平方根范围内的所有数字都不能被整除就说
//明这个数字是素数,但凡有一个能被整除那么这个数字就违背了素数的定义
return false;
}
}
return true; //如果是素数则返回true
}
int main() {
int i, j;
printf("打印100以内所有素数:\n");
for (i = 2; i <= 100; i++) { //for循环遍历一个一个判断,如果是素数那么就打印出来,遍历的数字范围能被修改,输出不同范围的素数
if (isprime(i)) {
printf("%d ", i);
}
}
return 0;
}
```
阅读全文