问题是:
下面是我的Java类,我认为它的代码可以解决问题9:
public class ProblemNine {
public static void main(String[] args) {
ProblemNine f = new ProblemNine();
System.out.println(f.tripletP());
}
boolean isTriplet(int a, int b, int c){
if((a*a)+(b*b)==(c*c)){
return true;
} else return false;
}
int tripletP(){
int a=1,b=2,c=997;
int product = 0;
//outerloop generates all possible combinations of 3 summators for the number 1000, if b>c>a is true
outerloop:
for(int i = 997; i>499; i--){
c = i;
b = 999-i;
a = 1;
while(b>(a+2) && (a+b) == (1000-i) && a!=b && c>b){
b--;
a++;
// supposedly checks if a,b,c are a triplet.
if (isTriplet(a,b,c)){
product=a*b*c;
break outerloop;
}
}
if(c>997 || b>499 || a>249){
break outerloop;
}
}
return product;
}
}
for(int i = 997; i>499; i--){
你停得太早了。如果a
和
a+b+c==1000
,则c的最小可能值不是500,而是335。
for(int i = 997; i>335; i--){
使用这个新的下限,
b
偶尔会大于c
,这会过早地触发一些条件。不过,您可以删除它们,并仍然得到正确的答案。
for(int i = 997; i>335; i--){
c = i;
b = 999-i;
a = 1;
while(b>(a+2)){
b--;
a++;
if (isTriplet(a,b,c)){
product=a*b*c;
break outerloop;
}
}
}
我知道这可能会被选为副本(因为我已经看到了这张使用Dijkstra算法的负权重图,所以我认为其中没有一个答案是我想要的。我对Dijkstra算法在有一条负边的图中的解感兴趣,但Dijkstra仍然会显示正确的解。那张图会是什么样子?我无法想象,或者我不擅长enough需要了解Dijkstra如何处理负边缘。我知道有一个带负边的图,可以用Dijkstra遍历,并且仍然有正确的路径。请不要告诉我使用贝
我们让一个实习生用自上而下的方法解决最小硬币问题。问题陈述给出了一组硬币,返回构成总和所需的最小硬币。此外,还应返还构成金额的硬币。 这是密码 代码在大部分情况下看起来不错。但不会返回预期的结果。当使用上述输入执行时,程序返回INT.MAX作为minCoins,列表为空。 有关于代码哪里出错的提示吗?谢谢
在使用docplex解决优化问题后,我在访问解决方案时遇到了问题。 下面我发布了我使用的完整代码,只要我得到结果(结果有注释): 优化问题在本文的优化后问题中得到了充分的解释 所以我有两个问题: 我不明白为什么要使用mdl函数。print_solution()给出的结果与我在mdl中枚举解决方案时的结果不同。解决方案 提前感谢您的帮助。问候。
RecyclerView.Adapter
我是机器学习和OpenCV的新手。我从Cohn-Kanade人脸数据库中为每种情绪(中性和快乐)拍摄了一组10张图像。然后,我从每个图像中提取面部特征,并将它们放入我的训练数据矩阵中,并为各自的情绪分配标签(例如:0表示中性,1表示快乐)。 我使用了gamma=0.1和C=1的RBF内核。经过训练后,我将从智能手机摄像头中提取出的面部特征用于预测。预测总是返回1。 如果我增加中性表达式的训练样本数
我在这么多地方发现了这么多与此相关的问题。 当我在命令提示符中输入ant-version时,会打印以下内容: 无法定位tools.jar.预计在C:\Program Files\Java\jre1.8\libtools.jar Apache Ant版本1.9.4于2014年4月29日编译 尽管它说的是“找不到tools.jar……”它也在打印版本号。 除了复制工具,其他所有解决方案都不起作用。ja