当前位置: 代码迷 >> C语言 >> [求助]求100-300之间所有素数的和
  详细解决方案

[求助]求100-300之间所有素数的和

热度:147   发布时间:2007-01-03 10:39:04.0
[求助]求100-300之间所有素数的和
#include<stdio.h>
main()
{
int i,j,a,s=0;
for(i=100;i<=300;i++)
{
a=0;
for(j=2;j<i;j++)
{
if(i%j==0)
break;
else a=1;
}
if(a) s+=i;
}
printf("s=%d",s);
}
这个有什么不对吗?

[此贴子已经被作者于2007-1-3 10:59:02编辑过]

搜索更多相关的解决方案: 素数  int  break  else  

----------------解决方案--------------------------------------------------------
没有定义a
----------------解决方案--------------------------------------------------------

改好了。答案是20000吗,怎么和标准答案有差错啊,标准的是23516


----------------解决方案--------------------------------------------------------
version 1:
#include<stdio.h>
main()
{
int a,i,j,s=0;
for(i=100;i<=300;i++)
{
a=0;
for(j=2;j<i;j++)
{
if(i%j==0){
a=0;break;}
else a=1;
}
if(a) s+=i;
}
printf("s=%d",s);
}
vesion 2:
#include<stdio.h>
main()
{
int a,i,j,s=0;
for(i=100;i<=300;i++)
{
a=1;
for(j=2;j<i;j++)
if(i%j==0){
a=0;
break;}
if(a) s+=i;
}
printf("s=%d",s);
}

----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
int i,j,s=0;
for(i=100;i<=300;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
break;
}
if(j>=i)s=s+i;
}
printf("s=%d",s);

}

----------------解决方案--------------------------------------------------------
  相关解决方案