A Pythagorean triplet is a set of three natural numbers, a < b < c, for which,
a^2 + b^2 = c^2
For example, 3^2 + 4^2 = 9 + 16 = 25 = 5^2.
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc.
public static int specPyth(int num)
{
for (int a = 1; a < num; a++)
for (int b = 2; b < a; b++)
{
if (a*a +b*b == (num-a-b)*(num-a-b))
return a*b*(num-a-b); //ans = 31875000
}
return -1;
}
我不禁想到,有一个解决方案只涉及一个循环。有人有想法吗?我更喜欢只使用一个循环的答案,但任何比我目前的效率更高的都是很好的。
if a + b +c = 1000
然后
a + b + sqroot(a² + b²) = 1000
-> (a² + b²) = (1000 - a - b)²
-> a² + b² = 1000000 - 2000*(a+b) + a² + 2*a*b + b²
-> 0 = 1000000 - 2000*(a+b) + 2*a*b
-> ... (easy basic maths)
-> a = (500000 - 1000*b) / (1000 - b)
然后你尝试每一个b,直到你找到一个使a成为自然数。
public static int specPyth(int num)
{
double a;
for (int b = 1; b < num/2; b++)
{
a=(num*num/2 - num*b)/(num - b);
if (a%1 == 0)
return (int) (a*b*(num-a-b));
}
return -1;
}
编辑:b不能高于499,因为C>b和(b+C)将高于1000。
13195的主要因子为5、7、13和29。数字600851475143中最大的素因子是什么? 我用自己的方式在Euler项目上解决了这个问题,速度很慢,然后我在某人的github帐户上找到了这个解决方案。我不明白为什么它会起作用。为什么删除了许多因子,这些因子等于一个指数?有什么见解吗?
我有一个并发哈希映射,我需要在其中更新循环中的值。虽然,并发映射本身是线程安全的,但添加操作不是原子的,因此我需要添加同步块。如果我在这里错了,请纠正我。 问题是是否可以使用锁等更有效地同步此代码?我正在从阻塞队列中获取值。 这是代码:
问题内容: 我的问题是: 据我所知,这取决于如何使用,即用作构造函数或函数。可什么是在不同的情况下? 问题答案: 的关键字是指功能所属的对象,或对象如果函数不属于任何对象。 在OOP代码中使用它来引用该函数所属的类/对象,例如: 这提醒: 您可以使用或函数操纵引用的对象。 (有时非常方便)
这是我当前的代码: 我一辈子都不知道如何旋转这个。我看了其他几个论坛,但没有其他机构讨论这个问题。 据我所知,没有办法旋转JPanel或JFrame,所以我运气不好吗? 这就是它现在的样子: 数字时钟 我想把它旋转90度。基本上是垂直的。 编辑:解决方案:
我正在尝试创建一个类似于以下内容的项目结构: 此外,我们希望避免使用require将所有函数拉到一个index.js文件中。
我一直在四处寻找,试图自学流媒体api。我制作了几个类,列出了宠物的arraylist,有一个抽象的方法来显示宠物的声音,这两个表达式分开使用效果很好 但我想看看是否可以将它们组合成一行代码,这样在列表打印出来之后,它就会打印出声音。我想完成的事情有参考代码吗?