判断101200之间有多少个素数,并输出所有素数

如题所述

void main()
{
int i,j,c=0; //定义一些变量
for(i=101;i<=200;i++) //循环,以判断101 到 200 间的质数
{
for(j=2;j<=i;j++)//循环,判断当前数(i)是否是质数
{
if(i%j==0) //是否还能被其他数整除
break;//还能被某个数整除,不是质数,退出当前循环
}
if(j>=i)//如果以上循环是由于reak语句退出的,说明当前数i 还有其他因子,是合数
{//此时,j < i,如果是满足循环结束条件退出的,此时说明没有其他因子,为
//质数,此时 i == j,为了保险,程序使用的判断条件是 j >= i
c++;//计数,主要是用于控制输出:每行10个
printf("%d ",i);//显示结果
if(c%10==0)//计数是10的整数倍
printf("\n");//就输出一个换行符
}
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-18
public class Su {

 public static void main(String[] args) {

  int su = 0;

  int count = 0;

  for (int i = 101; i < 201; i += 2) {

   if (isSu(i)) {

    su = i;

    System.out.println(su);

    count++;    

   }

  }

  System.out.println(count++);

 }

 public static boolean isSu(int i){

  for (int j = 2; j <= i / 2; j++) {

   if (i % j == 0) {

    return false;

   }

  }

  return true;

  

 }

}

相似回答