JAVA怎么输出素数?
不请自来,希望能帮到你!
1.
首先定义两个int型变量i和j,然后通过两个for循环语句对100以内的素数进行逐个遍历,for循环嵌套使用,j层包括i层和一个if条件语句,用开输出j满足条件时的素数值,具体如图所示。
2.
当在i层循环语句中进行条件判断时,如果满足表达式i=2;i<=j/2;则执行i++,且在if语句中将j与i进行取余运算,如果值等于0,那么执行break语句,跳出i层循环,即该数不是素数,执行j++再次进行运算。
3.
附源代码:
public class E14{ public static void main(String args[ ]){ int i,j; for(j=2;j<=100;j++){ for(i=2;i<=j/2;i++){ if(j%i==0) break; } if(i>j/2){ System.out.println(""+j); } } }}
注意事项
for(j=2;j
for(i=2;i
用java输出100以内所有的素数(PrimeNumber)?
质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。下面是一个java求100之内的素数简单示例。
代码示例如下:
public class test {
public static void main(String[] args) {
int i,n,k=0;
for (n = 3; n<=100; n++) { //3~100的所有数
i=2;
while (i<n) {
if (n%i==0) break; //若能整除说明n不是素数,跳出当前循环
i++;
}
if (i==n) { //如果i==n则说明n不能被2~n-1整除,是素数
k++; //统计输出数的个数
System.out.print(i+ "\t ");
if (k %6==0) //每输出5个则换行
System.out.println();
}
}
}
}
idea判断一个数是否为素数?
法一: class Test2 { public static void main (String []args) { int j; for(int n=1;n<=100;n++) { for(j=2;j<=n-1;j++) { if(n%j==0) break; } if(j>=n-1) System.out.println(n); } } } 法二: import java.awt.*; import java.applet.*; import java.awt.event.*; public class sushu extends Applet implements ActionListener{ TextField t1=new TextField(5); TextField t2=new TextField(5); Button b1=new Button("begin"); int m,n; public void init(){ add(t1); add(t2); add(b1); b1.addActionListener(this); } public void actionPerformed(ActionEvent e){ m=Integer.parseInt(t1.getText()); n=Integer.parseInt(t2.getText()); repaint(); } public void paint(Graphics g){ boolean f; int i,j,k=0; for(i=m;i<=n;i++){ f=true; for(j=2;j<=i-1;j++) if(i%j==0) {f=false;break;} if(f){ g.drawString(" "+i,(k%10)*20+20,(k/10)*60+80); k=k+1; } } } }
还没有评论,来说两句吧...