Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建一个生成给定大小的素数(以位为单位)的方法_Java_Primes - Fatal编程技术网

Java 创建一个生成给定大小的素数(以位为单位)的方法

Java 创建一个生成给定大小的素数(以位为单位)的方法,java,primes,Java,Primes,我需要创建一个Java方法,该方法接受单个参数(一个数字),并生成该位数的素数 样本输出: $ primegenerate(1024) $ 142405175064861448442669284843420489603593930617313976674095914073492903976984848373315014340583589674334422581561784146805278310143147937016874549483037286357105260324082207009125

我需要创建一个Java方法,该方法接受单个参数(一个数字),并生成该位数的素数

样本输出:

$ primegenerate(1024)
$ 142405175064861448442669284843420489603593930617313976674095914073492903976984848373315014340583589674334422581561784146805278310143147937016874549483037286357105260324082207009125626858996989027805604841776344359158053673248019204338406280932000275573354237039522117150476778214733739382939035838341675795443
我的问题是试图在不使用任何java内置类的情况下编写此代码。我真的不知道从哪里开始。如果有人能给我指出正确的方向,我将不胜感激

我能够转换一个使用BigInt检查正则素数的方法。现在我需要在给定一定位数的情况下生成素数,比如1024位。我只需要你们给我指出正确的方向,这也是我研究的一部分

import java.math.*;

public class Prime {

public boolean primeCheck(BigInteger n) //My BigInteger version , returns true if number is Prime, false if not
{
      if (n.intValue()==2) //case n =2, function returns true. 
      { 
        return true;
      }

      for (int i=2;i<=(int)Math.sqrt(n.intValue())+1;i++) //loops through 2 to sqrt(n). 
      { 
        if (n.intValue()%i==0)  //if a divisor is found, its not prime. returns false
        { 
          return false;
        }
      }
      return true; //if all cases are not divisible by n, it is prime.
    }
}
import java.math.*;
公共类素数{
public boolean primeCheck(biginger n)//我的biginger版本,如果数字是Prime,则返回true,否则返回false
{
如果(n.intValue()==2)//情况n=2,则函数返回true。
{ 
返回true;
}

对于(inti=2;i这个问题有两部分。1)生成一个给定位大小的数字。2)检查您刚才生成的数字是否为素数。编写代码分别完成每个部分。在这里询问,您无法使部分代码正常工作。

@ErwinBolwidt检查我的编辑一旦您检查了2的整除性,您只需要检查奇数。这将(几乎)将你必须进行的检查数量减半。如果你仔细考虑的话,你可以扩展这种洞察力。