设计一程序,要求用筛选法求100以内的素数,筛选法就是从2到100中去掉2,3,……9,10的倍数,剩下的就是100以内的素数,已知该程序的功能框架如下:
main( )
{
建立2到100的数组A[],其中A[i]=i;
建立2到10的素数表B[],其中存放2到10以内的素数;
若A[i]=i是B[]中任一数的倍数,则剔除A[i];
输出A[]中所有没有被剔除的数
下面是我的实现代码
我看着感觉没错啊 但是输出结果是从2开始一直输出100
问题出在哪呀?
我是新手啊 现在还在看视频 求帮助啊
class Array03
{
public static void main(String[]args)
{
int[] arr1 = new int[101];
int[] arr2 = {2,3,5,7};
for(int i=0;i<4;i++)
{
for(int j=2;j<=100;j++)//用数字0标记arr1[j]能被arr2[i]整除的元素实现方法
{
arr1[j]=j;
if(arr1[j]/arr2[i]*arr2[i]==arr1[j])
arr1[j]=0;
}
}
for(int j =2;j<=100;j++)//遍历数组输出结果
{
if(arr1[j]!=0)
{
System.out.println(arr1[j]);
}
}
}
}
|