emm对蓝桥云课真是无语,尼玛的运行都不运行就拿出来讲,然后判断不出素数,真的误人子弟呀,
能教出来这种代码,我更傻叉,还信了他的鬼话
/*** @author zb* date2025/3/20 19:08*/
public class Main {public static void main(String[] args) {int cnt = 0 ;for (int i = 1; i <=100000000 ; i++) {cnt = cnt+ check(i);if(cnt==100002){System.out.println(i);break;}}}
// 判断哪个数字是素数
// 是素数返回1
// 不是素数返回0static int check(int n){
// 23都是素数if(n==1){return 0;}else if(n==2||n==3){return 1;}
// 能整除 2 和 3 的都不是素数else if (n%2==0||n%3==0) {return 0 ;}
// 由于约数是成对出现的 假设a *b = n
// 一定满足 a<=根号n b>=根号nfor (int i = 5; i * i <= n ; i=i+6) {if(n%i==0){return 0;}}return 1;}}
真恶心
问了一下deepseek,deepseek说我漏了7,7也是素数
正确代码
/*** @author zb* date2025/3/20 19:08*/
public class Main {public static void main(String[] args) {int cnt = 0 ;for (int i = 1; i <=100000000 ; i++) {cnt = cnt+ check(i);if(cnt==100002){System.out.println(i);break;}}}
// 判断哪个数字是素数
// 是素数返回1
// 不是素数返回0static int check(int n){
// 23都是素数if(n==1){return 0;}else if(n==2||n==3){return 1;}
// 能整除 2 和 3 的都不是素数else if (n%2==0||n%3==0) {return 0 ;}
// 由于约数是成对出现的 假设a *b = n
// 一定满足 a<=根号n b>=根号nfor (int i = 5; i * i <= n ; i=i+2) {if(n%i==0){return 0;}}return 1;}}