编写两个正整数m和n,编写函数int fun(intm,intn) 统计m和n之间的素数个数

2024-11-29 13:00:30
推荐回答(2个)
回答1:

#include "stdio.h"
int prime(int n){//求素数
    int i;
    if(n>2 && !(n&1) || n<2)
        return 0;
    for(i=3; i*i<=n;i+=2)
        if(!(n%i)) return 0;
    return n;
}
int fun(int m,int n){//求素数之和
    int i,sum=0;
    for(i=m;i<=n;i++)
        sum += prime(i);
    return sum;
}

回答2:

#include
#include
int main()
{
int prime(int a);
int m,n,i,count=0;
printf("请输入两个正整数:");
scanf("%d,%d",&m,&n);
for(i=m;i<=n;i++)
{
if (prime(i)==1)
{
count++;
}
}
printf("这两个正整数之间的素数个数为:%d\n",count);
return 0;

}
int prime(int a)
{
int i;
if(a==1)
return 0;
for(i=2;i<=sqrt(a);i++)
if(a%i==0)
return 0;
return 1;
}