我试图通过将最小素数(p)与一组不同的(n)自然数相除,其中(q)是最小自然数,剩余数应该是q,但不知何故,它最终出现了运行时错误。
限制条件是1
我的代码不好,希望能修好。。
Example 1:
输入(n):3 4 5 1
输出(q):61
说明:
这里n 1个数是3,4,5和1,其中q=1(是最小自然数)。
最小的数字是1,剩下的1除以3,4和5是61,是素数。因此输出是61。
Example 2:
输入(n):3 4 5 2
输出(p):无
说明:
这里q=2。被4除后剩下2的任何数字必须是偶数,例如6、10、14等。
因此它不可能是素数。
因此,输出为None
这是我的代码:
import java.util.*;
public class PrimeConstruction{
public static void main(String [] args){
Scanner scan = new Scanner(System.in);
int[] n = new int[11];
String temp1 = new String();
int q,temp = 0,p,i=1;
for(i=1;i<n.length;i++){
n[i]=scan.nextInt();
if(temp>n[i]){
temp=n[i];
}
else{
q=n[i];
}
}
for(p=3;p<100;p++){
if(i>1){
while(i<(int)n.length){
if(n[i]% p == q){
System.out.println(p);
}
else if(n[i]%p == 0){
System.out.println("None");
}
i++;
}
}
}
}
}
你的代码有点杂乱无章。如果将其分解为多个方法,它将简化该过程,并使调试变得更容易。但不要在测试阶段提示输入。硬编码要测试的整数数组。
我建议写两种方法。
>
第一种方法(例如,
isPrime
)是确定一个值是否为素数。关于如何计算素数,这个网站上有很多很好的答案。搜索一下。
然后将最小素数初始化为
整数。最大值
。
第二种方法只需使用候选者调用第一种方法,并执行以下操作:
如果isPrime
方法返回true,
- 把它和最小的素数比较一下
- 如果较小,则指定最小素数,否则忽略
当你完成后,你将有最小的素数,或整数。MAX_VALUE
如果没有发现素数。
通过将代码分解成方法,你可以一次只关注一件事。isPrime
方法将是这两种方法中比较复杂的一种。确保使用打印语句来帮助调试过程。
这里有一些需要考虑的事情。
- 要检查
N
是否为素数,只需检查2
到sqrt(N)
的除数余数
你可能想用埃拉托斯烯筛来代替寻找素数。
我有一个任务需要完成:
本文向大家介绍解决android.support.v4.content.FileProvide找不到的问题,包括了解决android.support.v4.content.FileProvide找不到的问题的使用技巧和注意事项,需要的朋友参考一下 在AndroidManifest.xml中加入下面这段话后, 在Android4.4.2版本的手机出现了下面的错误提示 解决方案: 第一:可能是添加Mu
问题内容: 是什么会导致将jar成功添加到Eclipse Java项目中,然后在运行时找不到带有ClassNotFound异常的该jar中的某些类? 问题答案: 运行时的CLASSPATH变量设置可能不正确,或者您错过了向jar文件中添加某些类的操作。
我正在用java制作一个tic-tac-toe游戏,作为家庭作业。我有一个名为TicTacToe的父类和一个名为humanVsHuman的派生类。 下面的方法是在派生类中编写的。它提示用户输入他们想要输入游戏棋子的位置(X或O),然后从父类中调用两个方法:一个将X或O存储在名为setGb()的多功能数组中,另一个用名为displayBoard()的新棋子显示棋盘。 方法如下: 我收到以下运行时错误
我试图通过命令行运行测试,我使用了以下命令:实际上我的操作系统是linux ubuntu,我使用了命令:java-cp"lib/*: bin"org.testng.TestNGtestng.xml
给定一个整数数组,其中每个元素表示可以从该元素向前执行的最大步数。编写一个函数,返回到达数组末尾(从第一个元素开始)的最小跳转次数。如果元素为0,则无法在该元素中移动。 输入: arr[] = { 1, 3, 5, 8, 9, 2, 6, 7, 6, 8, 9} 输出: 3(1- 发现了从动态规划方法到其他线性方法的多种方法。我无法理解所谓的时间线性方法。这里是一个链接,其中提出了一种线性方法。