悬赏提问下,Java打印100以内的素数,要求5个一个换行,怎么实现 5C

悬赏提问下,Java打印100以内的素数,要求5个一个换行,怎么实现?

4个回答

/**

  • @author
  • @date 2019/51/10 16:51:56
  • @ClassName Test
  • @Description 找出100以内的素数,每五个一行 */

public class Test {
public static boolean primeNumber(int i) {
boolean b = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
b = false;
break;
}
}
return b;
}
public static void main(String[] args) {
int n = 0; //五个计数
for (int i = 2; i <= 100; i++) {
if (primeNumber(i)) {
n++;
System.out.print(i + " ");
if (n == 5) {
n = 0;
System.out.println();
}
}
}

}

}


dabocaiqq
穷在人世中少你左右我想我连什么价值也没有 回复毕小宝: 大神,期待你来回答我
8 个月之前 回复
qq_41816675
梦_梦呓 回复毕小宝: ???什么date??开始的?
8 个月之前 回复
wojiushiwo945you
毕小宝 代码的 Date 值怎么到了 51 的呢?
8 个月之前 回复

首先肯定是一个0-100的for循环,,在循环中间定义一个用来计数的变量(count) ,然后用
if(满足素数条件)
{
//打印这个素数,并且计数
System.out.print(i);
count++
}
//满足五个
if(count % 5){
//打印一个换行
System.out.println();
}

刚开始写程序的话,建议一步一步按照逻辑去写,不要简化过程,这样既能快速写出程序,又可以得到锻炼。慢慢的写的多了,自然而然的就会简写了

public class Test {
public static void main(String[] args) {
int i, count = 0;

    for(i=2; i<=100; i++){ 
        if(isPrimeNumber(i) == true){ 
            count++; 
            System.out.printf("%6d", i); 
            if(count%5 == 0) 
                System.out.println(); 
        } 
    } 
} 

//判断一个数是否是素数,若是,返回true,否则返回false 
public static boolean isPrimeNumber(int num){ 
    int k = (int) Math.sqrt(num); 

    if(num == 2) 
        return true; 

    for(int i=2; i<=k; i++) 
        if(num%i == 0) 
            return false;            
    return true; 
} 

}

public class Demo {
public static void main(String[] args){
//判断换行使用
int k=0;
//定义for循环取1到100的所有整数
for(int i = 1;i<101;i++){
//统计整数被整除的次数
int count =0;
//定义内部for循环,用于作为除数
for(int j=1;j<i+1;j++){
if(i%j==0)
count++;
}
//由于素数只能被自己和1整除,所以素数被整除的次数是2,如果整数次数是2,进入if语句执行打印操作
if(count==2){
k++;
//判断k能否被5整除,能整除则执行换行打印
if(k%5==0) {
System.out.println(i);
}else {
System.out.print(i+"\t");
}
}
}
}
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐