书上的一道简单程序题看不懂,请教一下,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/29 22:55:28
例2.22将1到1000之间的素数打印出来。采用“筛法”来求素数。
解:输入n
1=>i
当i≤n
i=>X i
i+1=>i
0=>X i
2=>i
当i<√n(取整部分)
Xi=0
是 否 到这步是使X1=0,把1去掉,对吗?
I+1=>j
当j≤n
Xj=0
是 否 这步也没有使0=>Xj ,怎么就有Xj=0,Xj=0是什么意思,是要把3去掉吗?怎样判断Xj是否等于0?
Xj能被Xi整除
是 否
0=> Xj
j+1=>j
i+1=>i
1=>i
当i≤n
Xi=0
是 否
输出Xi
i+1=>i

其中,首先使0=>X i
然后使2=>i
当i<√n(取整部分)
怎样才能判断出 Xi是否等于0

class Text
{
public static int hjx(int x)
{
int a=0,b=0;
if((x%2)==0)
{
for(;a<x;a++)
{
if((a%2)!=0)
{
b=b+a;
continue;
}
if(a==x)
{
break;
}
}
}
if((x%2)!=0)
{
for(;a<=x;a++)
{
if((a%2)!=0)
{
b=b+a;
continue;
}
if(a==(x+1))
{
break;
}
}
}
return b;
}
public static void main(String[] args)
{
System.out.println("99的奇数和是"+hjx(99));
System.out.println("100的奇数和是"+hjx(100));
System.out.println("101的奇数和是"+hjx(101));
}
}