求3-N间所有素数的平方根之和

sophia_sophia 2006-09-19 04:30:10
求3-N间所有素数的平方根之和
我错在那了啊,大虾指点下...


#include <math.h>
#include <stdio.h>

double fun(int n)
{
double s=0.0;
int i,j,flag=1;
for(i=3;i<=n;i++)
{ for(j=2;j<i;j++)
if(i%j==0)
{ flag=0;
break;
}
if(flag==1&&j>=i+1)
s+=sqrt(i);
}
return s;



}

main()
{
int n;
double sum;
printf("\n\nInput n: ");
scanf("%d",&n);
sum=fun(n);
printf("\n\nsum=%f\n\n",sum);
}
...全文
604 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sophia_sophia 2006-09-19
  • 打赏
  • 举报
回复
3Q,
格兰特杨 2006-09-19
  • 打赏
  • 举报
回复
试试这样

double fun(int n)
{
double s=0.0;
int i,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);
}
return s;
sumjohn 2006-09-19
  • 打赏
  • 举报
回复
判断条件也错了一个

for(i=3;i<=n;i++)
{
flag = 1; //这里添加
for(j=2;j<i;j++)
if(i%j==0)
{ flag=0;
break;
}
if(flag==1) // 这里修改
s+=sqrt(i);
}
return s;
sumjohn 2006-09-19
  • 打赏
  • 举报
回复
多加一句 flag = 1;

for(i=3;i<=n;i++)
{
flag = 1; //这里添加
for(j=2;j<i;j++)
if(i%j==0)
{ flag=0;
break;
}
if(flag==1&&j>=i+1)
s+=sqrt(i);
}
return s;

70,014

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧