#include<stdio.h>
#include<math.h>
int isprime(intn)
{for(inti=2;i*i<=n;i++)
if(n%i==0)return 0;
return n>1;
}
int main()
{int n,i;
double s=0;
scanf("%d",&n);
for(i=3;i<=n;i+=2)
if(isprime(i))s+=sqrt(i);
printf("%.3lf\n",s);
return 0;
}
輸出結果
擴展資料
求3-N間所有素數的平方根之和
#include<math.h>
#include<stdio.h>
doubl efun(intn)
{
doubles=0.0;
inti,j,flag=1;
for(i=3;i<=n;i++)
{
for(j=2;j<i;j++)
{
if((i%j==0)&&(j>=(i+1)))
{
flag=0;
break;
}
}
if(flag==1)
s+=sqrt(i);
}
returns;