早教吧 育儿知识 作业答案 考试题库 百科 知识分享

有关素数的疑问publicclassTestSuShu{staticintnum;publicstaticvoidmain(String[]args){for(inti=101;i<200;i++){intj;intk=(int)(Math.sqrt((double)i)+1);//为什么里面要加1for(j=2;j(int)(Math.sqrt(i))){//为什么此

题目详情
有关素数的疑问
public class TestSuShu{
static int num;
public static void main(String[] args) {
for (int i = 101; i < 200; i++) {
int j;
int k=(int)(Math.sqrt((double)i)+1);//为什么里面要加1
for (j = 2; j (int)(Math.sqrt(i))) {//为什么此处要做这样的判断,为什么这里面不要加1了
num++;
}
}
System.out.println();
System.out.println("素数的个数为:"+num);
}
}
还有没有更简便的写法,请回答我一下,呵呵,
▼优质解答
答案和解析
》》int k=(int)(Math.sqrt((double)i)+1);//为什么里面要加1 这一行之后的 for 循环的目的是检查 i 是否能被任何等于或大于 2 但小于或等于 (int) Math.sqrt(i) 的整数整除(注:多余的 “(double)” 被去掉了).该...