/* 程序问题注释开始
-
程序的版权和版本声明部分
-
Copyright © 2020,湖南工程职业技术学院信息工程学院学生
-
文件名称: 蓝桥杯赛题
-
作 者: 李 斌
-
完成日期: 2020 年 04 月 30日
-
对任务及求解方法的描述部分
-
问题描述
给定一个正整数N,请你输出N以内(不包含N)的质数以及质数的个数。 -
输入格式
输入一行,包含一个正整数N。 -
输出格式
共两行。
第1行包含一个整数,表示N以内质数的个数。
第2行包含若干个素数,每两个素数之间用一个空格隔开,素数从小到大输出。 -
样例输入
10 -
样例输出
4
2 3 5 7 -
数据规模和约定
N<=1000 -
程序问题注释结束
*/
package 质数2;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner in=new Scanner(System.in);
//用户请输入一个正整数
int n=in.nextInt();
//定义预装质数的数组
int[] arr=new int[999];
//计数
int count =0;
//循环找质数
for(int i=2;i<n;i++)
{
//默认设置质数
int prime=1;
//循环判断是否有整除数
for(int j=2;j<i;j++)
{
//判断是否整除
if(i%j==0)
{
//整除则不是质数
prime=0;
break;
}
}
//1为质数
if(prime==1)
{
//存储质数
arr[count]=i;
//计数加1
count++;
}
}
//输出质数个数
System.out.println(count);
//循环输出质数
for(int i=0;i<count;i++)
{
//以空格隔开
System.out.print(arr[i]+" ");
}
}
}
运行结果: