C#急求急求,一段基础代码求高手帮忙解答一下..................

2025-01-05 08:39:21
推荐回答(6个)
回答(1):

for(int i=101;i<200;i+=2) //101..103..105.....
{
boolean f = true; //控制输出
for(int j=2;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,是不是真的是质数。如果不是,输出它的值。当然,结果应该是空吧 ..应该是...好长时间没玩这个了。。

回答(2):

for(int i=101;i<200;i+=2)//循环101-200之间的数
{
boolean f = true;//为变量f赋值为真
for(int j=2;j {
if(i%j==0)//看i对j取余是否为0
{

f =false;//为0则变量f重新赋值为假
break;//然后返回
}

}
if(!f){continue;}//如果f为真,则继续循环
System.out.println(i);//输出i(质数)
}

回答(3):

不是你说的那个意思 一个大循环套一个小循环 外面的大循环根据i判断 里面的小循环根据j来判断 外面的大循环每执行一次 里面的小循环都要整个循环全执行一遍。
例如:
for(int i=101;i<200;i+=2)------------------i=101
{
boolean f = true;-----------------------f=true
for(int j=2;j {
if(i%j==0)-------------------相当于if(101%2==0)显然不满足条件
{ if里面代码不执行,大循环不执行 i
f =false; 还是等于101,小循环继续执行j++
break; 直到判断到j大于了101后或101%j==0
} 成立后走到break跳出小循环。
然后大循环执行下一步.如此反复

回答(4):

写的太乱了,既然是质数,为什么要从2开始呢?从3开始不是更好?还有,终点用sqrt(i)比j

回答(5):

i跟j取余==0
执行

回答(6):

你理解的很正确,
j++ 也就是 j = j+1 或者 j += 1;