前言:
学习编程还是要做大量练习呀,不能只学不练,一个题目可以从多个角度去解决,可以全方面巩固知识点。每天记录一点点,daydayup!
题目:判断101-200之间有多少个素数,并输出所有素数
思路:1,定义一个101-200的数值区间;2,从区间内取一个数;3,遍历2到该数的一半数据,看这个数是否能被整除;4,不能被整除为素数,反之不被整除便不是素数。5,输出结果
方法1:利用bootean变量,当该数可以被整除时,输出false;不能整除时输出true,最后统计数量即可
public class sushudemo {public static void main(String[] args) {System.out.println("素数合计为:"+la(101, 200));}public static int la(int start,int end){int count = 0;for (int i = start; i <=end ; i++) {boolean flag = true;for (int j = 2; j < i /2; j++) {if (i % j == 0){flag = false;break;}}if(flag){System.out.println(i);count ++;}}return count;}
}
方法2:添加标签选项(OUT),当可以被整除时,使代码跳出循环;最后记录出素数数值
public class sushudemo1 {public static void main(String[] args) {System.out.println(la(101, 200));}public static int la(int start, int end) {int count = 0;OUT:for (int i = start; i <= end; i++) {for (int j = 2; j < i / 2; j++) {if (i % j == 0) {continue OUT;}}System.out.println(i);count++;}return count;}
}
方法3:使用多个方法,分步骤完成;第一个方法为记录数值区间,第二个方法为看是否能被整除,可以被整除输出false,不能则输出true。
public class sushudemo2 {public static void main(String[] args) {System.out.println(la(100, 200));}public static int la (int start,int end){int count = 0;for (int i = start; i <=end ; i++) {if (ll(i)){System.out.println(i);count++;}}return count; }public static boolean ll(int date){for (int i = 2; i <= date/2 ; i++) {if (date % i == 0){return false;}}return true; }}
撒花!