- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
完美数是指其真约数之和恰好等于该数的数。例如,28 的真约数之和为 1 + 2 + 4 + 7 + 14 = 28,这意味着 28 是一个完美数。
如果一个数 n 的真约数之和小于 n,则称它为亏数;如果此和超过 n,则称它为富数。
由于12是最小的丰度数,1 + 2 + 3 + 4 + 6 = 16,所以可以写成两个丰度数之和的最小数是24。通过数学分析,可以证明所有大于 28123 的整数可以写成两个丰富的数字之和。然而,即使已知不能表示为两个丰度数之和的最大数小于该上限,也无法通过分析进一步降低该上限。
求所有不能写成两个丰富数之和的正整数之和。
问题:我的答案似乎比正确答案 4179871 大得多,如果有人指出我代码中的错误,我将不胜感激。非常感谢!
var abundanceArray = [];
var sumOfAbundanceArray = [];
var totalSum = 0;
var limit = 28123;
function checkRepeat(x) {
if (sumOfAbundanceArray.length === 0) return false;
for (var n = 0; n < sumOfAbundanceArray.length; n++) {
if (x === sumOfAbundanceArray[n]) return true;
}
return false;
}
for (var i = 1; i <= limit; i++) {
var sum = 0;
totalSum += i;
for (var j = 1; j <= Math.ceil(i/2); j++) {
if (i % j < 1) {
sum += j;
if (sum > i) {
abundanceArray.push(i);
break;
}
}
}
}
var total = abundanceArray.length;
for (var k = 0; k < total; k++) {
if (abundanceArray[k] * 2 > limit) break;
for (var l = k; l < total; l++) {
var sumOfAbundance = abundanceArray[k] + abundanceArray[l];
if (sumOfAbundance > limit || checkRepeat(sumOfAbundance) === true) break;
sumOfAbundanceArray.push(sumOfAbundance);
totalSum -= sumOfAbundance;
}
}
console.log(totalSum);
最佳答案
看来错误在于您输入代码的最后一次中断(最长的一行)。
sumOfAbundance 是两个丰度数的和,确实你想限制搜索以使程序运行得更快。但是 - 只有在 sumOfAbundance 大于限制的情况下才应该中断循环。那时您就会知道您的丰富值(value)太大了。
您不应该在条件的另一种情况下中断循环。它检查之前是否计算过 sumOfAbundance,但无论您之前是否看到过 sumOfAbundance 的值,如果 sumOfAbundance 仍然足够小,您必须继续循环。
因此得出结论:在推送到 sumOfAbundanceArray 并更改 totalSum 之前检查此条件的两个部分,但仅当 sumOfAbundance 太大时才跳出循环。
关于javascript - 欧拉计划 qn 23,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39437800/
为什么这段代码不起作用?当我使用注释部分而不是表格时,它起作用了......使用table为什么不能工作? function addLine() {
我正在使用下面的代码使用批处理文件在 Windows 上静默安装 mysql.. 似乎忽略了/qn 我也尝试过/quiet,但这也不起作用。 它只是读取行并将光标移动到下一行。 echo off cl
如果我有两个表 tableinfo 和 tablenamelist 以及一个外键,如下所示: Alter tableinfo add foreign key (name) references tab
完美数是指其真约数之和恰好等于该数的数。例如,28 的真约数之和为 1 + 2 + 4 + 7 + 14 = 28,这意味着 28 是一个完美数。 如果一个数 n 的真约数之和小于 n,则称它为亏数;
我正在尝试转换为应用程序提供的静默安装程序命令 这在̣bat文件中运行得很好,但是我需要在powershell中运行它来执行自动部署任务之一 "BubblePop.exe" /s /V"/qn /li
问题是 Which of the following methods for providing explicit names for the columns in a view work?a. In
我这里有一段从 GitHub 获得的代码。它是一个 Jquery 滚动分页插件。 https://github.com/andferminiano/jquery-scroll-pagination/t
当我运行 MSI(不带参数)时,我通常必须通过对话框单击并选择是否要安装到当前用户/所有用户、目标目录等。 当我使用/qn(静默模式)运行 MSI 时会发生什么。如何找到为所有这些对话框自动选择的答案
我想创建一个允许用户使用不同颜色绘图的绘图应用程序。除了改变颜色,我什么都能想出来。 我有一个初始的红色油漆来绘制几条线,当我将颜色更改为绿色时,之前绘制的所有线条都被更改了。我希望之前绘制的线条保留
上面突出显示了两个部分。 1st - Mini-Profiler 告诉我 Controller / Action 的执行时间(通过 ajax 调用) 87 毫秒 第二个 - Chrome Web In
我有等式: 2^y = 2^q0 + ... 2^qn n 是任意整数(有任意数量的'q')。 'q' 的值可以大到 500,而 2^q 不能存储在整数或长变量类型中。由于存储容量问题,我想计算“y”
我是一名优秀的程序员,十分优秀!