import java.util.ArrayList;
public class LargestPrimeFactor {
private static long maxNum;
public LargestPrimeFactor(long maxNum) {
LargestPrimeFactor.maxNum = maxNum;
ArrayList<Long> listOfPrimes = new ArrayList<>();
listOfPrimes.add(2L);
for (long i = 3; i < maxNum/2; i++) {
if (i % 2 == 1 && isPrime(i)) {
listOfPrimes.add(i);
}
}
// for (long i = 0; i < listOfPrimes.size(); i++) {
// System.out.println(listOfPrimes.get((int) i));
// }
for (long i = listOfPrimes.size() -1; i > -1; i--) {
if (maxNum % (long)listOfPrimes.get(i) == 0) {
System.out.println("Max Prime Factor is: " + listOfPrimes.get(i));
break;
}
// System.out.println(listOfPrimes.get((int) i));
}
}
private boolean isPrime(long num) {
for (long i = 2; i < num; i++ ) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
在这个循环中
for (long i = listOfPrimes.size() - 1; i >= 0; i--) {
if (maxNum % ((long) listOfPrimes.get(i)) == 0) {
System.out.println("Max Prime Factor is: " + listOfPrimes.get(i));
break;
}
}
您应该将i
的类型从long
更改为int
。这并不是说listofprimes
中的数字必须是int
,它只是说listofprimes
中的元素计数必须可以用一个32位有符号整数表示。
实际上,listofprimes.size()
返回一个整数,而不是长的。在Java中,数组的长度总是由int
指定。因此,数组不能容纳超过int
所能容纳的元素。因此,ArrayList
也不能容纳更多元素。
伙计们,我正在写一个资源管理器,它可以管理不同类型的资源。资源可以是整数或一些自定义类型。所以,我定义了这样一个接口: 此接口的实现者之一管理“int”类型的资源。因为我做不到: 我最终做了: 注意:使用了“整数”而不是“整数”。 我有一段这样的代码: 函数internalToExternal()返回“int”而不是“Integer”。 问题:1.是否有从“int”到“Integer”的自动转换?
随着时间的推移,我正在安装越来越多的python模块,我的站点包目录已经非常庞大。所以每次我打开pycharm时,我都要等大约15分钟(或者更久)才能完成索引。所以我的问题是:我如何指定我的项目需要的模块来索引,而不是索引我的整个python安装?
我上了Java的课程,正在努力自学C和K 在Java中,您可以声明一个类似于公共静态浮点转换(int f)的函数,而不需要原型。这对我来说似乎简单得多。为什么会有差异?
我有三个表在我的应用程序,把它们称为,,和。有字段为和,两者都有索引。有字段带索引,有字段带索引。 当我执行以下查询时: 它真的很慢(约1秒)。 当我执行以下查询时: 速度非常快(约20毫秒)。 据我所知,这些桌子大小差不多 关于这两个查询之间的巨大性能差异,有什么想法吗? 表大小: > tableA:2061392行 表B:175339行 TableC: 1888912行 postgresql-
我明白分区键对于可伸缩性和数据存储方式很重要。但是如果我们考虑搜索,分区键是不是有点像额外的filter/where子句?所有文档都被索引,所以我可以执行查询,如下所示: 在使用此SQL查询语法时,我是否还应该指定分区键,或者指出如何允许跨分区查询?
问题内容: 我们的MySql表有2500万行 以下是表中的列 以上我们在c_id,c_name,s_id,l_type,域列上具有正常索引 我打算在域,l_time,l_type列上添加复合索引。因此,现在我可以删除域上的单个索引了吗? 谢谢 问题答案: 复合索引的任何前缀也将单独用作索引。因此,如果您有一个复合索引,则相当于在和上都有索引。无需分别将这些索引分开,它们将是多余的并且浪费空间。 因