C#急求急求,一段基础代码求高手帮忙解答一下..................
来源:百度知道 编辑:UC知道 时间:2024/05/21 11:20:49
{
public static void main(String args[])
{
for(int i=101;i<200;i+=2)
{
boolean f = true;
for(int j=2;j<i;j++)
{
if(i%j==0)
{
f =false;
break;
}
}
if(!f){continue;}
System.out.println(i);
}
}
}
能说说执行过程是怎样的吗?
for(int j=2;j<i;j++)
{
if(i%j==0)
这里的执行过程是怎样的?
是不是
第一个是 if(101%2==0)
第二个是 if(103%3==0)
第三个是 if(105%4==0)
这样吗?
就这里我很模糊
忘了说, //输出101-200内的质数
他要求输出质数 为什么这里for(int j=2;j<i;j++) 是j++?
for(int i=101;i<200;i+=2) //101..103..105.....
{
boolean f = true; //控制输出
for(int j=2;j<i;j++) //这里表示从2到i之内的J,
{
if(i%j==0) //表示能被J整除的I,这里纠正你一个错误。第一个是101/2,101/3,101/4......101/100。知道吧?先循环完里面的小循环,再循环大循环。当然,第二个是 103/2,103/3,103/4.....103/102。这样才对
{
f =false; //当可以被整除时。f=false
break; //跳出循环
}
}
if(!f){continue;} //如果f=false
System.out.println(i); //输出i的值
总体来说,这段代码的作用是判断所有的i,是不是真的是质数。如果不是,输出它的值。当然,结果应该是空吧 ..应该是...好长时间没玩这个了。。
for(int i=101;i<200;i+=2)//循环101-200之间的数
{
boolean f = true;//为变量f赋值为真
for(int j=2;j<i;j++)//循环
{
if(i%j==0)//看i对j取余是否为0
{
f =false;//为0则变量f重新赋值为假
break;//然后返回
}
}
if(!f){continue;}//如果f为真,则继续循环
System.out.println(i);//输出i(质数)<