小刚接受又一个任务,任务内容:你会收到两个整数a,b,但是你是不知道哪个数比较大,你需要做的是在区间[a,b]间,找出所有的素数并且打印出来,要求打印中每一行只能10个。
作为小刚的最佳队友的你,请设计一个Java程序来协助小刚完成这个任务。
输入要求:
多组数据,每一组数据输入两个整数a,b
输出要求:
按照题目的条件输出答案
/**
*
*/
package j0402;
import java.util.Scanner;
/**
* @author CeciliaXinny
*
*/
public class Java {
/**
* @param args 素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。
*
* 把 n 被 2 ~ n-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int a = in.nextInt();
int b = in.nextInt();
// pan 判断 a < b?
if (a > b) {
int c = a;
a = b;
b = c;
}
int count = 0;// 每十个数换行
for (int i = a; i <= b; i++) {
if(i==1)continue;
boolean flag = true;
for (int j = 2; j < i; j++) {// 判断2~是否可以除
if (i % j == 0) {
flag = false;// 能被除就++
break;
}
}
if (flag) {
if (count == 9) {
System.out.printf(" %d\n",i);
count = 0;
}
else if(count==0) {
System.out.printf("%d",i);
count++;
}
else {
System.out.printf(" %d", i);
count++;
}
}
}
System.out.println();
}
}
}