2-100之间的素数(一点问题)
publicclassSamp2_5{publicstaticvoidmain(Stringargs[]){inti,j,half,n;for(i=2;i<100;i++...
public class Samp2_5{ public static void main(String args[]){ int i,j,half,n; for (i=2;i<100;i++){ n=i; half=n/2; for(j=2;j<=half;j++) if(n%j==0)break; if(j>half) System.out.println("素数="+i); } } } 问题:(1)break结束的是什么循环体? (2)只是将满足"n%j==0"的数字去掉,但并不影响循环的进行,下个数会继续执行i++,为什么要break? (3)if(j>half) System.out.println("素数="+i); j>half,那54也是大于half的,但并不是素数?另外j<=half时,满足素数条件的i怎么输出?
展开
展开全部
1)结束for循环
2)一个数不能被这个数的一半以下的所有的数整除,他就是素数,举例说明,7不能被2、3整除,他就是素数,大于这个数的一半,就没有必要检查了。
3)同2),注意half是i的一半,不是100的一半
ps:请注意你的for循环是嵌套的,break退出的是里面的for,因为它已经确定这个数是素数还是合数。退出去验证下一个数是否为素数。比如他的中间部分运行顺序是这样的,7不能被2整除,7不能被3整除,j〉7的一半,println,i++,8能被2整除,break,i++,9不能被2整除,9能被3整除,break...
2)一个数不能被这个数的一半以下的所有的数整除,他就是素数,举例说明,7不能被2、3整除,他就是素数,大于这个数的一半,就没有必要检查了。
3)同2),注意half是i的一半,不是100的一半
ps:请注意你的for循环是嵌套的,break退出的是里面的for,因为它已经确定这个数是素数还是合数。退出去验证下一个数是否为素数。比如他的中间部分运行顺序是这样的,7不能被2整除,7不能被3整除,j〉7的一半,println,i++,8能被2整除,break,i++,9不能被2整除,9能被3整除,break...
北京埃德思远电气技术咨询有限公司
2021-11-22 广告
2021-11-22 广告
假设条件在短路的实际计算中, 为了能在准确范围内迅速地计算短路电流, 通常采取以下简化假设。(1)不考虑发电机的摇摆现象。(2)不考虑磁路饱和,认为短路回路各元件的电抗为常数。(3)不考虑线路对地电容, 变压器的磁支路和高压电网中的电阻, ...
点击进入详情页
本回答由北京埃德思远电气技术咨询有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询