素数


1)计算并输出3~100之间的素数。


编程满足下列要求:


 1)按照每行5个输出;


 2)输出任意两个整数之间的所有素数;


 3)输入两个整数,输出这两个整数之间的最大的10个和最小的10个素数。


package
sushu; import java.util.*; //素数相关 public class Sushu { static Scanner x=new Scanner(System.in); public void menu1() { int j; int count=0; System.out.println("3~100之间的素数"); for (int i = 3; i <= 100; i++) // 数从3开始循环 { for(j = 2;j<=Math.sqrt(i);j++) if(i%j==0)break; if(j>Math.sqrt(i)) { count++; if(count%5==0) {//控制每行输出5个素数 System.out.print(i); System.out.print("\n"); } else System.out.print(i+" "); // 如果是就打印出数字 } } System.out.println("\n"); } //菜单2 public void menu2() { int j,a,b; int count=0; System.out.println("请输入两个任意的正整数,前者小与后者:"); a=x.nextInt(); b=x.nextInt(); for (int i = a; i <= b; i++) // 数从3开始循环 { for(j = 2;j<=Math.sqrt(i);j++) if(i%j==0)break; if(j>Math.sqrt(i)&&i!=0&&i!=1) { count++; if(count%5==0) {//控制每行输出5个素数 System.out.print(i); System.out.print("\n"); } else System.out.print(i+" "); // 如果是就打印出数字 } } System.out.println("\n"); } //菜单3 public void menu3() { int j,a,b; int count=0; int m[]=new int[1000]; System.out.println("请输入两个任意的整数,前者小与后者:"); a=x.nextInt(); b=x.nextInt(); for (int i = a; i <= b; i++) // 数从3开始循环 { for(j = 2;j<=Math.sqrt(i);j++) if(i%j==0)break; if(j>Math.sqrt(i)&&i!=0&&i!=1) { m[count]=i; count++; } } System.out.println(a+"与"+b+"之间最小的10个素数:"); for(int k=0;k<10;k++) { if(k%5==0&&k!=0) {//控制每行输出5个素数 System.out.print("\n"); } System.out.print(m[k]+" "); } int cn=0; System.out.print("\n"+a+"与"+b+"之间最大的10个素数:"); for(int p=count-10;p<count;p++) { if(cn%5==0) {//控制每行输出5个素数 System.out.print("\n"); } System.out.print(m[p]+" "); cn++; } System.out.println("\n"); } //菜单1 public void menu() { System.out.println(" 素1数系统"); System.out.println("1: 3~100之间的素数,每行5个输出"); System.out.println("2: 任意两个整数之间的所有素数,每行5个输出"); System.out.println("3: 两个整数之间的最大的10个和最小的10个素数,每行5个输出"); System.out.println("0: 退出"); System.out.print(" 请选择:"); } //主函数 public static void main(String[] args) { Sushu a=new Sushu(); for(; ;) { a.menu(); int N=x.nextInt(); switch(N) { case 1:a.menu1();break; case 2:a.menu2();break; case 3:a.menu3();break; case 0:break; } } } }
原文地址:https://www.cnblogs.com/zhangzhongkun/p/9787912.html