描述
输出100->200之间的素数的个数,以及所有的素数。
输入
无
输出
100->200之间的素数的个数,以及所有的素数。
样例输入
样例输出
21
101 103 ... 197 199
import java.io.*;
import java.util.*;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int isPrime=1;//初始化为1,表示是素数。
int count=0;
int i,k=0;
int []a=new int[30];
for(i=100;i<=200;i++)//100到200之间的数
{
isPrime=1;
for(int j=2;j<i;j++)//判断是否能整出,能的话不是素数,跳出循环,不在继续后续判断
{
if(i%j==0)
{
isPrime=0;
break;
}
}
//如果循环判断结束后,isPrime还是1,则是素数。count加1,同时将值存入素数数组a中。
if(isPrime==1)
{
count++;
while(k<count)
{
a[k]=i;
k++;
}
}
}
//所有循环结束后输出素数个数count以及素数a[k]
System.out.println(count);
for(k=0;k<count-1;k++)
{
if(k<count-1)
{System.out.print(a[k]+" ");}
}
{System.out.print(a[count-1]);}
}
}
其中,最后那个循环,因为要求素数间以空格隔开,因此要做一下判断。如果是最后一个数,则之后没有空格。
如下:
for(k=0;k<count-1;k++)
{
if(k<count-1)
{System.out.print(a[k]+" ");}
}
{System.out.print(a[count-1]);}