题目:
输入一个数,查找从0到这个数之间的素数。
程序分析:
言简意赅的理解就是,一个只能被1和本身整除的数称之为素数。 质数==素数。
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之则是素数。
/**
* 寻找0-num区间的素数
* 只能被1和本身整除的数是质数
* @param num
*/
public static void foundPrime(int num) {
int count = 0;
for (int i = 2; i < num; i++) {
boolean isSuShu = true;
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
isSuShu=false;
break;
}
}
if (isSuShu){
count++;
System.out.println("质数为:"+i);
}
}
System.out.println("质数一共有:"+count);
}
附带简单说一下 java api中的 math 静态类中的几个较为常用的方法:
- Math.round():四舍五入
- Math.ceil():向上取整
- Math.floor() :向下取整
- Math.pow() :次方
- Math.sqrt() :求平方根
- Math.max() :最大值
- Math.min() :最小值
- Math.abs() : 绝对值
- Math.random() : 随机数