用JAVA 判断101-200之间有多少个素数,并输出所有素数? 第二个for语句后面就不懂了???什么意思?
publicclasskt{publicstaticvoidmain(String[]args){intcount=0;booleanb=false;for(inti=1...
public class kt {
public static void main(String[] args) {
int count = 0;
boolean b = false;
for(int i=101; i<200; i+=2)
{
for(int j=2; j<=i-1; j++)
{
if(i % j == 0) { b = false; break; }
else { b = true; }
}
if(b == true) {count ++;
System.out.println(i );
}
}
System.out.println( "素数个数是: " + count);
} 展开
public static void main(String[] args) {
int count = 0;
boolean b = false;
for(int i=101; i<200; i+=2)
{
for(int j=2; j<=i-1; j++)
{
if(i % j == 0) { b = false; break; }
else { b = true; }
}
if(b == true) {count ++;
System.out.println(i );
}
}
System.out.println( "素数个数是: " + count);
} 展开
6个回答
展开全部
public class kt {
public static void main(String[] args){
int count = 0;
for(int i=101; i<200; i+=2){ //从101循环到200的奇数(>2的偶数不是素数)
int j=2;
for(; j<=i/2+1; j++){ //从2循环到i/2+1(因为比i/2大的数不可能整除i)
if(i % j == 0) break; //判断j是否能整除i,能则中断对j的循环
} //for j
if(j==i/2+1) count++; //如果j=i/2+1说明比i/2+1小的数都不能整除i,也就是质数
}//for i
System.out.println( "素数个数是: " + count);
}//main
}
展开全部
根据素数的定义,素数只能被1和它本身整除。i表示101—200之间的数,第二个for语句表示2至比这个数小一的数,如果期间,有一个能被其整除,就不是素数,是素数,count加一。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先理解什么是素数 素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数
第二个for循环 i是101到200的一个数 每次循环 j会增加 if判断 i%j是否等域零 如果等于零就说明这个数不是素数 结束循环
第二个for循环 i是101到200的一个数 每次循环 j会增加 if判断 i%j是否等域零 如果等于零就说明这个数不是素数 结束循环
追问
for(int j=2; j<=i-1; j++);j<=i-1什么意思?
追答
j是最小的素数 j每次循环都会加1 i是你要比较素数 j<=i-1 就是i每次和小与它的数比较
主要获得 2到i中的数
当条件不满足就会退出循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我直接对你下面那2个追问回答吧。素数的定义本身就是只能被1和自身所整除的数字。
for(int j=2; j<=i-1; j++)
{
if(i % j == 0) { b = false; break; }
else { b = true; }
}
这里面的for循环,从2开始可以去掉1,到j-1结束就是去掉自身j。如果i对除1和自身以外的结果都不能取余为0(也就是不能整除)的话。那他也就是素数,符合自身定义。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二个for循环是为了判断这个数是不是素数,素数不能被其他的数整除,他循环从2到他本身小一,循环一次判断是不是被整出了
追问
for(int j=2; j<=i-1; j++);j<=i-1什么意思?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询