java的素数和数问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:31:30
1、设计一个程序,计算并显示1000-2000中的素数,如果是合数,显示出一组因子分解表达式,例如:
1001:Prime
1002 = 501 * 2
表示1001是素数,1002是合数,并给出一组因子分解表达式

public class Number
{
int[] num;//用于存放1000~2000的所有数
private boolean prime(int num)//用于判断数num是否为素数,若是则返回true
{
int count=0;
for(int i=2;i<(int)(Math.sqrt(num))+1;i++)
{
if(num%i==0)
count++;
}
if(count>0)
return false;
else return true;
}
public void num()//将1000~2000之间的数存入num中,并区别素数和合数
{
int[] num=new int[2000-1000+1];
for(int i=1000;i<2001;i++)
{
if(this.prime(i))
num[i-1000]=i;
else num[i-1000]=-i;
this.num=num;
}
}
public void factorization(int num)
{
int temp=num;
int n_fcr=0;
int n=(int)(Math.log(num)/Math.log(2))+1;
int[] factor=new int[n];
for(int i=2,j=0;i<1000;)
{
if(num%i==0&&(this.prime(i)))
{
factor[j]=i;