输出100->200之间的素数的个数,以及所有的素数。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/H_lukong/article/details/82932819

描述

输出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]);}

猜你喜欢

转载自blog.csdn.net/H_lukong/article/details/82932819