什么是素数:简单来说就是除了1和自身以为,别的数都不能整除。当然,不能比他本身大。
求:2-1000 (包括2,1000)之间的素数
输出格式:每八个数字为一行
代码如下:
public class PrimeNumber {
public static void main(String[] args) {
//声明需要用到的变量
int i = 2; // i 是起始变量
boolean prime; // prime 用来判断是否存在否定素数的因子
int amount=0; //累加器,统计素数个数
while(i<=1000) {
//这里先重置一下布尔值的默认值,以便后面判断是否存在否定因子
prime = true;
//进入循环,判断是否存在否定因子
for(int n = 1 ; n < i ; n++ ) {
//如果存在否定素数的因子,改变默认布尔值
if(i%n == 0 && n!=1 )prime = false;
}
if(prime)amount++; //素数累加器自增
if(prime)(i+"\t"); //判断是否是素数
if(h%8 == 0)(); //控制输出行
i++;
}
}
}
还有一种方法是用C写的可以参考判断条件,代码如下:
#include <>
void main()
{
int n,i; //声明变量
scanf("%d",&n); //输入需要判断的数字
//进入循环开始判断
for(i=2;i<n;i++){
//如果存在否定素数的因子就终止循环
if(n%i==0) break;
}
//判断,如果在遇到他本身之前没有否定数字就说明是素数,相反就不是(肯定比本身小)
if(i>=n){
printf("n is prime");
}
else{
printf("n is not prime");
}
}
以上方法并不适用于数字比较大的问题中,如果需要使用到比较大的问题中需要先开方,减少判断的次数。