使用Java求出1-100之间的素数之和,其实其他语言也差不多,只是思路算法的问题。
首先:
素数:只能被1和其本身整除的数
也就是在1和x本身之间,只要能被1–x之间的数整除就不是素数
所以:
循环遍历1-100个数x,每个数取(1,x)之间的数整除,如果能整除说明不是素数,跳过判断下一个,以此类推……
for (int i = 1; i <= 100; i++) {
Boolean flag = true;
for (int j = 2 ; j < i ;j ++){
if(i % j == 0){
flag = false;
break;
}
}
if(flag){
sum += i;
}
System.out.println(sum);
}
复杂度O(n2),所以效率可能会低些。