第三题的算法 public class A { public static void main(String[] args) { int i = 1; int count = 0; while(i<=10) { if(i==2||i==5||i==8) { i++; continue; } else { count+=i; i++; }
} System.out.println(count);
} }
搞定了,嘿嘿!!! private static final int MAX=100; public static void init(int[] num)//定义数组,里面装从1到100 { int i=0; for(;i<MAX;i++) { num[i]=i+1; } } public static int count(int[] num)//在程序运行后,计算素数个数 { int n=0,i=0; for(;i<MAX;i++) { if(num[i]!=0)//非素数将被置零 n++; } return n; } public static void printf(int[] num)//输出所有素数,每10个转行一次 { int i=0,n=0; for(;i<MAX;i++) if(num[i]!=0) { System.out.print(num[i]+" "); n++;
} } public static void main (String[] args){
int i=2,j=1; int count; int[] numbers = new int[MAX]; init(numbers); while (j<MAX) { if(numbers[j]!=0) while (i<MAX) { if(numbers[i]!=0) { if(numbers[i]%numbers[j]==0) numbers[i]=0;//如果不是素数,置零 } i++; } j++; i=j+1; } count=count(numbers); printf(numbers); System.out.println(); System.out.println("ok,we found "+count+" primes in "+MAX+" numbers."); }
public class A
{
public static void main(String[] args)
{
int i = 1;
int count = 0;
while(i<=10)
{
if(i==2||i==5||i==8)
{
i++;
continue;
}
else
{
count+=i;
i++;
}
}
System.out.println(count);
}
}
private static final int MAX=100;
public static void init(int[] num)//定义数组,里面装从1到100
{
int i=0;
for(;i<MAX;i++)
{
num[i]=i+1;
}
}
public static int count(int[] num)//在程序运行后,计算素数个数
{
int n=0,i=0;
for(;i<MAX;i++)
{
if(num[i]!=0)//非素数将被置零
n++;
}
return n;
}
public static void printf(int[] num)//输出所有素数,每10个转行一次
{
int i=0,n=0;
for(;i<MAX;i++)
if(num[i]!=0)
{
System.out.print(num[i]+" ");
n++;
}
} public static void main (String[] args){
int i=2,j=1;
int count;
int[] numbers = new int[MAX];
init(numbers);
while (j<MAX)
{
if(numbers[j]!=0)
while (i<MAX)
{
if(numbers[i]!=0)
{
if(numbers[i]%numbers[j]==0)
numbers[i]=0;//如果不是素数,置零
}
i++;
}
j++;
i=j+1;
}
count=count(numbers);
printf(numbers);
System.out.println();
System.out.println("ok,we found "+count+" primes in "+MAX+" numbers.");
}