素数输出
Posted mawangwang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了素数输出相关的知识,希望对你有一定的参考价值。
(1)计算并输出3~100之间的素数。
(2)编程满足下列要求:
1)按照每行5个输出;
2)输出任意两个整数之间的所有素数;
3)输入两个整数,输出这两个整数之间的最大的10个和最小的10个素数。
1 package 素数; 2 import java.util.*; 3 public class Sushu { 4 static Scanner x=new Scanner(System.in); 5 public void menu1() { 6 int j; 7 int count=0; 8 System.out.println("3~100之间的素数"); 9 for (int i = 3; i <= 100; i++) // 数从3开始循环 10 { 11 for(j = 2;j<=Math.sqrt(i);j++) 12 if(i%j==0)break; 13 if(j>Math.sqrt(i)) 14 { 15 count++; 16 if(count%5==0) {//控制每行输出5个素数 17 System.out.print(i); 18 System.out.print(" "); 19 } 20 else System.out.print(i+" "); // 如果是就打印出数字 21 } 22 } 23 System.out.println(" "); 24 } 25 public void menu2() { 26 int j,a,b; 27 int count=0; 28 System.out.println("请输入两个任意的正整数,前者小与后者:"); 29 a=x.nextInt(); 30 b=x.nextInt(); 31 for (int i = a; i <= b; i++) // 数从3开始循环 32 { 33 for(j = 2;j<=Math.sqrt(i);j++) 34 if(i%j==0)break; 35 if(j>Math.sqrt(i)&&i!=0&&i!=1) 36 { 37 count++; 38 if(count%5==0) {//控制每行输出5个素数 39 System.out.print(i); 40 System.out.print(" "); 41 } 42 else System.out.print(i+" "); // 如果是就打印出数字 43 } 44 } 45 System.out.println(" "); 46 } 47 public void menu3() { 48 int j,a,b; 49 int count=0; 50 int m[]=new int[1000]; 51 System.out.println("请输入两个任意的整数,前者小与后者:"); 52 a=x.nextInt(); 53 b=x.nextInt(); 54 for (int i = a; i <= b; i++) // 数从3开始循环 55 { 56 for(j = 2;j<=Math.sqrt(i);j++) 57 if(i%j==0)break; 58 if(j>Math.sqrt(i)&&i!=0&&i!=1) 59 { 60 m[count]=i; 61 count++; 62 } 63 } 64 System.out.println(a+"与"+b+"之间最小的10个素数:"); 65 for(int k=0;k<10;k++) { 66 if(k%5==0&&k!=0) {//控制每行输出5个素数 67 System.out.print(" "); 68 } 69 System.out.print(m[k]+" "); 70 } 71 int cn=0; 72 System.out.print(" "+a+"与"+b+"之间最大的10个素数:"); 73 for(int p=count-10;p<count;p++) { 74 if(cn%5==0) {//控制每行输出5个素数 75 System.out.print(" "); 76 } 77 System.out.print(m[p]+" "); 78 cn++; 79 } 80 System.out.println(" "); 81 } 82 public void menu() { 83 System.out.println(" 素数系统"); 84 System.out.println("1.3~100之间的素数,每行5个输出"); 85 System.out.println("2.任意两个整数之间的所有素数,每行5个输出"); 86 System.out.println("3.两个整数之间的最大的10个和最小的10个素数,每行5个输出"); 87 System.out.println("0.退出"); 88 System.out.print(" 请选择:"); 89 } 90 public static void main(String[] args) { 91 Sushu a=new Sushu(); 92 for(; ;) { 93 a.menu(); 94 int N=x.nextInt(); 95 switch(N) { 96 case 1:a.menu1();break; 97 case 2:a.menu2();break; 98 case 3:a.menu3();break; 99 case 0:break; 100 } 101 } 102 103 } 104 }
结果截图:
以上是关于素数输出的主要内容,如果未能解决你的问题,请参考以下文章
代码实现:判断101-200之间有多少个素数(质数),并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。