c语言求n个素数平方根之和,P074 3~n之间所有素数的平方根之和 ★★

所属年份:2011.3

请编写函数fun,其功能是:计算并输出3~n之间所有素数的平方根之和。

例如,若主函数从键盘给n输入100后,则输出为sum=148.874270。

#include

#include

double fun(int n)

{

}

int main()

{

int n;

double sum;

FILE *out;

printf("Input N=");

scanf("%d",&n);

sum=fun(n);

printf("\n\nsum=%f\n\n",sum);

/******************************/

out=fopen("out.dat","w");

fprintf(out,"%f\n",fun(180));

fclose(out);

/******************************/

return 0;

}

【解题思路】

本题考查素数的判定方法及求平方根函数sqrt的使用。首先确定了n的范围,然后确定循环条件,最后根据素数的判定方法确定条件语句。

【参考答案】

double fun(int n)

{

int m,k,i;

double s=0.0;

for(m=3;m<=n;m++)

{

k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0) break;

if(i>=k+1)

s+=sqrt(m);

}

return s;

}

你可能感兴趣的:(c语言求n个素数平方根之和)