Javascript循环

Javascript循环,javascript,nested-loops,Javascript,Nested Loops,我想知道是否有人愿意通过回答以下问题来演示“javascript”中循环和其他函数的使用: 有一个全国性的数学测验;至少67人,最多670人有权参加。每位参赛者都会获得一个进入大厅的入场号(第一个进入大厅的人数为1,第二个为2,依此类推)。宣布后,获胜者被要求进入大厅。他的回答是:我前面的人和我后面的人的总数相等;这就是您可以找到我的条目的方式 我希望我能恰当地表达它 我记得大约在20世纪70年代初,我解决了这个问题,但没有成功,但后来问了我兄弟的工科学生朋友;他们都热情地攻击它,但几小时后就厌

我想知道是否有人愿意通过回答以下问题来演示“javascript”中循环和其他函数的使用:

有一个全国性的数学测验;至少67人,最多670人有权参加。每位参赛者都会获得一个进入大厅的入场号(第一个进入大厅的人数为1,第二个为2,依此类推)。宣布后,获胜者被要求进入大厅。他的回答是:我前面的人和我后面的人的总数相等;这就是您可以找到我的条目的方式

我希望我能恰当地表达它

我记得大约在20世纪70年代初,我解决了这个问题,但没有成功,但后来问了我兄弟的工科学生朋友;他们都热情地攻击它,但几小时后就厌恶地放弃了(德州仪器公司的一个红灯计算器上有一个按钮,过去一直粘着!)。我在后来的几年里找到了答案,但没有编程的帮助。公式(n*(n+1))/2显然对求和有很大帮助

谢谢你抽出时间


Andrew

假设有
n
人参加这个测验,获胜者的#是
x

因此,在获胜者之前输入的人数总和是
1+…+(x-1)
的总和, 在获胜者之后进入的人数总和是
(x+1)+…+n
的总和

这里我们有
1+…+(x-1)=(x+1)+…+n
,它派生为
(x*(x-1))/2=((x+n+1)*(n-x))/2
。简化这一点,我们得到了
2*x^2-n^2-n=0

因此,在javascript中,我们编写为:

for (var n=67; n<=670; n++) {
    for (var x=1; x<=n; x++){
        if (2*x*x-n*n-n == 0)
            console.log(n,x);
    }
}

for(var n=67;这个问题似乎离题了,因为它要求其他人为询问者编写代码。你能给出一些你已经尝试过的代码吗?解决
n*(n-1)/2=(max*(max+1)-n*(n+1))/2
=>
n*(n-1)=max*(max+1)-n*(n+1)
太棒了!4行代码的功能真是太棒了。非常感谢您。您应该看到当年为解决这一问题而浪费的大量纸张。