首页 > 解决方案 > 使用 C++ 计算 926 以下的所有 7 和 11 的倍数之和

问题描述

我需要找到 926 以下的所有 7 和 11 的倍数之和。这是我目前所拥有的:

#include <iostream>

int main() {

int sum = 0;

    for (for i = 1; sum<926; i++)

        
            sum = sum + 7*i + 11*i;
    
    
    std::cout << "The sum is "<<sum;

    return 0;
}

标签: c++

解决方案


有一个寓言是关于 Guass 快速响应老师繁忙的作业来总结数字 1..100。瓜斯迅速回复5050;即 (100 + 1) * 100/2。对于均匀间隔的序列,这可以概括为 (a[0] + a[n-1]) * n /2; 因为序列的平均值将是 (a[0] + a[n-1]) / 2; 和元素的数量n。

因此,序列 2,4,...200 = (202 / 2) * 100 或 1010。

并且序列 77,154,231, ... 77 * n 将是 ((77 * (n+1))/2) * n。

所以,你只需要弄清楚N。


推荐阅读