Java 我怎样才能乘以一定数量的素数?
我该如何编写一个程序,当你输入一个数字,比如说5,它会给我前5个素数相乘的输出Java 我怎样才能乘以一定数量的素数?,java,Java,我该如何编写一个程序,当你输入一个数字,比如说5,它会给我前5个素数相乘的输出 例如,5应该返回2*3*5*7*11=2310。这是一个大项目的一部分,这一部分让我很困惑。我不会给你一个完整的答案,只会指引你正确的方向 找到第一个i素数。这可以通过蛮力或使用一些更智能的算法来实现,如。 (一个简单的算法只需通过检查每个数字是否可被所有较低的数字整除来迭代检查每个数字是否为素数,当找到正确数量的素数时中止) 把数字相乘。这可能是一个非常大的数字,因此我建议使用对象 实现这些部分中的每一部分都应该相
例如,5应该返回2*3*5*7*11=2310。这是一个大项目的一部分,这一部分让我很困惑。我不会给你一个完整的答案,只会指引你正确的方向
i
素数。这可以通过蛮力或使用一些更智能的算法来实现,如。
(一个简单的算法只需通过检查每个数字是否可被所有较低的数字整除来迭代检查每个数字是否为素数,当找到正确数量的素数时中止)
实现这些部分中的每一部分都应该相当容易,这是留给您的。此函数可以帮助您
private ArrayList<Integer> primes = new ArrayList<Integer>() ;
public void primeMultiply(int j){
boolean isPrime = false;
if(j<4){
primes.add(1);
primes.add(2);
primes.add(3);
double mutliply = 1 ;
for(Integer int1 : primes){
multiply *= int1 ;
}
System.out.println("Multiply=" + multiply) ;
return ;
}else{
primes.add(1);
primes.add(2);
primes.add(3);
for(int k=4 ; k<=j ; k++){
if(k%2 == 0) continue;
isPrime = true ;
else{
for(int q=2 ; q<k-1 ; q++){
if(k%q==0){
isPrime = flase; break;
}
}
}
if(isPrime){primes.add(k) ;}
isPrime= false ;
}
for(Integer int1 : primes){
multiply *= int1 ;
}
System.out.println("Multiply=" + multiply) ;
return ;
}
}
private ArrayList primes=new ArrayList();
公共空间(int j){
布尔isPrime=false;
如果(jSo)如果我输入23,它将乘以17*19*23*29*31?那么它将得到前面的两个素数和后面的两个其他素数?如果是这样,如果输入2会发生什么?你到底遇到了什么困难?你能发布你到目前为止的任何代码,以及任何错误消息、异常堆栈跟踪或不正确的输出吗?祝你好运你的家庭作业或面试作业!!“要求家庭作业帮助的问题必须包括你迄今为止为解决问题所做工作的摘要,以及对你解决问题的困难的描述。”