(1)计算并输出3~100之间的素数。
(2)编程满足下列要求:
1)按照每行5个输出;
2)输出任意两个整数之间的所有素数;
3)输入两个整数,输出这两个整数之间的最大的10个和最小的10个素数。
public static void main(String[] args) { int count=1; int b=0; int[] a=new int[100]; Scanner input=new Scanner(System.in); System.out.println("输入起始的数字:"); int n=input.nextInt(); System.out.println("输入结束的数字:"); int m=input.nextInt(); input.close(); //判断是否为素数,并且每五个一行输出; for(int i=n;i<=m;i++){ int j; for(j=2;j<i;j++){ if(i%j==0){ break; } } if(j==i){ //将素数存到数组里 a[b]=i; b++; if(count%5==0){ System.out.print(i+" "); System.out.println(); }else{ System.out.print(i+" "); } count++; } } System.out.println(); System.out.println("最小的十个素数:"); for(int c=0;c<10&&c<count;c++) { System.out.print(a[c]+" "); } System.out.println(); System.out.println("最大的十个素数:"); for(int c=count-2;c>count-12;c--) { System.out.print(a[c]+" "); } }
思路:利用两次循环;第一个循环为求素数范围的循环,这个范围由控制台输入;
第二个循环来判断该数是否为素数,若是素数则存到数组里;
因为判断素数时,是有顺序的,所以保存到数组中的素数是有顺序的,所以可以直接利用数组输出最大的十个素数和最小的十个素数;