C语言求0-N内的素数
时间: 2023-05-27 19:03:49 浏览: 79
以下是使用C语言编写的求0-N内素数的程序:
```c
#include <stdio.h>
int is_prime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
void find_primes(int n) {
for (int i = 2; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
}
int main() {
int n;
printf("请输入一个数N:");
scanf("%d", &n);
find_primes(n);
return 0;
}
```
该程序包括两个函数:
- `is_prime` 函数判断一个数是否为素数,如果是素数就返回 1,否则返回 0。
- `find_primes` 函数用于找出 0-N 内的所有素数,并打印出来。
在 `main` 函数中,读入一个数N,然后调用 `find_primes` 函数找出 0-N 内的所有素数,并打印出来。
相关问题
用c语言求1-1000内素数个数
```
#include <stdio.h>
int isPrime(int num) { // 判断num是否为素数
if(num <= 1) {
return 0;
}
for(int i = 2; i * i <= num; i++) {
if(num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int count = 0; // 计数器,记录素数的个数
for(int i = 1; i <= 1000; i++) {
if(isPrime(i)) {
count++;
}
}
printf("1-1000内素数个数为:%d\n", count);
return 0;
}
```
c语言求100-200之间素数
以下是两种C语言求100-200之间素数的例子:
方法一:常规计算
```c
#include <stdio.h>
void main(){
int i,j,flag;
int count=0;
for(i=100;i<=200;i++){
flag=1;
for(j=2;j<i;j++){ //判断是否为素数
if(i%j==0){
flag=0;
break;
}
}
if(flag==1){
printf("%d\t",i);
count++;
if(count%5==0){
printf("\n");
}
}
}
}
```
方法二:函数调用
```c
#include <stdio.h>
int num(int n){ //判断是否为素数
int flag,i;
flag=1;
for(i=2;i<n;i++){
if(n%i==0){
flag=0;
break;
}
}
return flag;
}
void main(){
int i,j,ret;
int count=0;
for(i=100;i<=200;i++){
ret=num(i);
if(ret==1){
printf("%d\t",i);
count++;
if(count%5==0){
printf("\n");
}
}
}
}
```