javascript - 从 n 到 m 的偶数之和,无论 n<m 还是 n>m

标签 javascript html

我正在尝试计算来自 n 的数字总和至 m ,无论是否 n>mn<m .我只设法让它在 n<m 时工作. 有人可以给我一个帮助/提示吗?

       function SumEvenN()
{
    var n = getFirstNumber();
    var m = getSecondNumber();

    var s = 0;

    if (n<m)
    {
        min = n;
        max = m;
    }
    else if (m<n)
    {
        min = m;
        max = n;
    }

    if (n>m)
    {
        [n, m] = [m, n]
    }
    for (var i = 2; i<=m; i++)
    {
        if (i % 2 == 0)
        {
            s += i;
        }
    }
    alert(s);

}


function getFirstNumber()
{
    var a = document.getElementById("first-number");    
    return parseInt(a.value);
}

function getSecondNumber()
{
    var b = document.getElementById("second-number");   
    return parseInt(b.value);
}

最佳答案

尝试

function SumEvenN(n,m) {
  if(n>m) [n, m] = [m, n];  // swap variables if n>m
  n=n%2 ? n+1 : n;          // if n is odd add 1 to it
  m=m%2 ? m-1 : m;          // if m is odd add -1 to it
  let t=(m-n+2)/2;          // number of even elements between n and m
  return t*(n+m)/2;         // use formula of arithmetic progression sum
}

function SumEvenN(n,m) {
  if(n>m) [n, m] = [m, n];  // swap variables if n>m
  n=n%2 ? n+1 : n;          // if n is odd add 1 to it
  m=m%2 ? m-1 : m;          // if m is odd add -1 to it
  let t=(m-n+2)/2;          // number of even elements between n and m
  return t*(n+m)/2;         // use foruma of arithmetic progression sum
}

function calc() {
  console.log(SumEvenN(+first.value, +second.value) );
}
<input id="first" type="number" value="9"/>
<input id="second" type="number" value="16"/>
<button id="btn" onclick="calc()">Calc</button>

关于javascript - 从 n 到 m 的偶数之和,无论 n<m 还是 n>m,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56227401/

相关文章:

javascript - 如何从一行中查找字符串并删除整行

PHP从带有url的变量中获取参数

javascript - 无法使用ajax序列化功能将图像插入数据库

javascript - 使用 jquery 捕获指定 HTML 表格的单元格值

html - 我可以用 CSS 实现元素的垂直环绕吗?

javascript - 如何导入与包含它们的文件夹同名的文件?

html - 如何让Bootstrap导航栏品牌形象更大

html - 下拉菜单在 IE8 中消失

html - 使用高度对齐表格单元格

javascript - 通过 JavaScript 提交表单