求 for 循环中变量的迭代总和

2023-12-27

for (i = 0; i <= 1000; i++) {
    if ( i % 3 === 0){
        console.log(i);
    }
    if ( i % 5 === 0){
        console.log(i);
    }

}

我想添加每个输出i一起。i.e. 0+0+3+5+6+9+10...+1000

是否有一种算法可以做到这一点,或者我只是开始将这些数字中的每一个加在一起?


从 1 到 的数字之和n is

n * (n + 1) / 2

1到1000之间能被3整除的数之和等于1到1000之间的数之和1000 / 3,乘以 3。同样,1 到 1000 中能被 5 整除的数字之和与 1 到 1000 中的数字相同1000 / 5,乘以 5。

我敢打赌你正在解决的问题希望你排除能被 15 整除的数字:)

edit— 为什么这有效?好吧,考虑一下从 1 到数字的更简单的情况n;比如说,1 到 100。

1, 2, 3, 4, 5, ... 97, 98, 99, 100

现在,考虑相同的数字列表,但倒退:

100, 99, 98, 97, ... 4, 3, 2, 1

请注意,当我们将这两个列表中的对相加时,我们总是得到 101:

100 + 1 is 101
99 + 2 is 101
98 + 3 is 101
...
4 + 97 is 101
3 + 98 is 101
2 + 99 is 101
1 + 100 is 101

所以总和都是 100,即 101。如果我们进行乘法并除以 2,我们就得到了答案:)

现在,能被 3 或 5 整除的数字之和又如何呢?好吧,如果你想一想,这些数字是什么样的?

3, 6, 9, 12, ... 993, 996, 999

嗯……看起来很像

3 * (1, 2, 3, 4, ... 331, 332, 333)

所以数字 1 到 333 的总和是333 * 334 / 2,如果我们将其乘以 3,我们就得到 1 到 1000 之间可被 3 整除的数字之和。同样的情况也适用于 5。如果我们想去掉可同时被 3 和 5 整除的数字之和,我们可以计算从 1 到 的数字之和1000 / 15 and subtract从结果来看。

哦,还有一件事。如果我们讨论的是整数之和,我们怎么知道除以 2 的步骤不会留下分数呢?嗯,公式是n * (n + 1) / 2, 记住。如果n是奇数,那么n + 1甚至。因此,该乘法将always涉及一个偶数,所以除以 2 永远不会留下分数!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

求 for 循环中变量的迭代总和 的相关文章

随机推荐

  • 将 IOS 应用程序从一个帐户的 Testflight 转移到另一个帐户

    App is 未发表在 App Store 上 但通过以下方式分发给测试人员试飞在以前的帐户上 现在我必须将应用程序转移到新帐户 具有相同的捆绑包标识符 我可以将其放置在具有相同捆绑包标识符的新帐户中吗 转移应用程序的程序是什么 因为它在
  • 如何格式化 MongoEngine PointField 的数据

    所以我想用mongodb中的位置数据做一些实验 所以我写了一些python代码来生成一些测试数据 不幸的是 文档位于http docs mongoengine org apireference html mongoengine fields
  • 获取应用程序共享意图的包名称

    我想获取创建共享意图的应用程序名称或其包名称 我正在制作通过意图接收共享数据的应用程序 如何获取创建者应用程序的包名称 类似于 intent getSourceBackageName EDIT 我不确定我的问题是否清楚 但我需要找出调用我的
  • Git clean 排除嵌套子目录

    我在使用 git clean 和排除嵌套目录选项时遇到问题 我想从存储库中清除所有未提交的文件 不包括vendor bundle为了 我的测试报告如下 debugg dir git file txt not commited file no
  • Javascript整数从零开始[重复]

    这个问题在这里已经有答案了 我有一个关于 javascript 如何解析以零开头的整数 例如银行帐号 的问题 下面是来自 Chrome 开发工具的简单示例 var zeroTest 022 undefined zeroTest 18 为什么
  • R.java 无法为 Android 库应用程序正确生成

    我创建了一个简单的 Android 库应用程序 其中只有 1 个包含 TextView 的活动 它工作正常 但是当我将其标记为库并在另一个应用程序中引用时 当我尝试使用 findViewById R id welcome textview
  • 使用 env('APP_ENV')、config('app.env') 或 App::environment() 获取应用程序环境有什么区别?

    使用上有什么区别env APP ENV config app env or App environment 获取应用程序环境 我知道env APP ENV 愿意 ENV config app env 读取配置并App environment
  • 在 Spring Boot 中为 Undertow 启用 HTTP 2.0

    我想知道如何使用 Spring Boot 为 Undertow 启用 HTTP 2 0 我监控了该协议 目前 HTTPS 使用的是 1 1 有什么财产可以用吗 或者我应该使用此选项创建一个 EmbeddedServletContainerF
  • Python isnumeric 函数仅适用于 unicode

    我正在尝试使用以下命令检查字符串是否为数字isnumeric功能正常 但结果并不如预期 该函数仅在它是 unicode 字符串时才起作用 gt gt gt a u 1 gt gt gt a isnumeric True gt gt gt a
  • ajax 自动完成扩展器不起作用

    我在文本框中有一个自动完成扩展器 它将记录显示为数据库中的列表 但是当我单击文本框并开始输入任何内容时 却没有发生任何事情 我的html代码是
  • Java for循环优化

    我用 java for 循环做了一些运行时测试 并发现了一个奇怪的行为 对于我的代码 我需要原始类型 如 int double 等 的包装对象来模拟 io 和输出参数 但这不是重点 只要看我的代码即可 具有字段访问的对象如何比原始类型更快
  • 如何将表单输入绑定到字典值

    我正在创建一个 ASP NET core razor 页面 Web 应用程序 其中一个页面需要能够修改Dictionary
  • 导入我的自定义类并调用它的方法?

    我为我的 Android 项目创建了一个名为 Sounds 的自定义类 我希望能够从我的活动中调用它 我的课内容如下 package com mypackage import java util HashMap import android
  • 在 Windows 7 中,当 DropDownStyle = DropDownList 时,ComboBox.SelectedValue 与显示的文本不匹配

    假设 Windows 应用程序中有以下代码 ComboBox comboBox new ComboBox AutoCompleteMode AutoCompleteMode SuggestAppend AutoCompleteSource
  • 属性路由继承

    我之前一直在我的 MVC 应用程序中使用这种方法 Route admin public class AdminController Controller Route products public class ProductsAdminCo
  • 带有会话 Cookie 的 Spring Security RememberMe 服务

    我正在使用 Spring Security 的 RememberMe 服务来保持用户身份验证 我想找到一种简单的方法将 RememberMe cookie 设置为会话 cookie 而不是设置固定的过期时间 对于我的应用程序 cookie
  • 扩展数据库中的类

    我正在开发一个php项目 该项目需要存储有关各种建筑物的信息 并将根据建筑物的类型存储不同类型的信息 Class Building var location var name 建筑类将通过房屋和办公室等类进行扩展 因此类将如下所示 仅作为示
  • UIView从下到上的外观,反之亦然(核心动画)

    我的目标是通过核心动画理解和实现功能 我认为这并不难 但不幸的是我不知道 swift Obj C 并且很难理解本机示例 可视化实现 So what exactly i want to do few steps as shown on ima
  • 如何比较同一个表 (SQL Server) 中的 2 行?

    我需要创建一个后台作业来处理一个表 查找与具有不同状态的特定 id 匹配的行 它将行数据存储在字符串中 以便将数据与具有匹配 id 的行进行比较 我知道获取行数据的语法 但我以前从未尝试过比较同一个表中的两行 它是如何完成的 我需要使用变量
  • 求 for 循环中变量的迭代总和

    for i 0 i lt 1000 i if i 3 0 console log i if i 5 0 console log i 我想添加每个输出i一起 i e 0 0 3 5 6 9 10 1000 是否有一种算法可以做到这一点 或者我