首页 > 文章列表 > C++程序计算1到N之间所有奇数的和

C++程序计算1到N之间所有奇数的和

c语言 程序计算 奇数和
254 2023-09-11

在我们学习编程和逻辑构建时,获取级数和是最简单的练习任务之一。在数学中,有一些方法可以找到不同级数中存在的级数之和。在编程中,我们通过实现逻辑将它们一一生成,并重复将它们相加以获得总和,否则根据需要执行任何其他操作。在本文中,我们将介绍使用 C++ 获取 N 以内所有奇数之和的技术。

有两种可能的方法可以得到这个总和,但有一点变化。让我们一一看看这些方法。

算法

  • 以数字 N 为上限。
  • 将总和初始化为 0。
  • i 的范围从 1 到 N。
    • 如果 i 是奇数,则。
      • 总和:=总和+i。
    • 如果结束。
  • 显示总和。

示例

#include <iostream>
using namespace std;

int solve( int n ) {
   int i;
   int sum = 0;
   cout << "Odd numbers are: ";
   for( i = 1; i <= n; i++ ) {
      if( i % 2 == 1 ) {
         cout << i << ", ";
         sum = sum + i;
      }
   }

   cout << endl;
   return sum;
}
int main(){
   int sum = solve( 25 );
   cout << "Sum is: " << sum;
}

输出

Odd numbers are: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 
Sum is: 169

在这种方法中,我们检查每个数字是奇数还是偶数。当奇数时,打印数字并将其添加到 sum 变量中。但是我们可以通过将 for 循环增加 2 来忽略此检查。算法如下 -

算法

  • 以数字 N 为上限。
  • 将总和初始化为 0。
  • 对于从 1 到 N 的 i,将 i 增加 2。
    • 总和:=总和+i。
  • 显示总和。

示例

#include <iostream>
using namespace std;

int solve( int n ) {
   int i;
   int sum = 0;
   cout << "Odd numbers are: ";
   for( i = 1; i <= n; i = i + 2 ) {
      cout << i << ", ";
      sum = sum + i;
   }
   cout << endl;
   return sum;
}
int main(){
   int sum = solve( 75 );
   cout << "Sum is: " << sum;
}

输出

Odd numbers are: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 
Sum is: 1444

结论

求级数总和需要在程序中使用循环重复进行数字相加。在这个问题中,我们试图找到奇数的总和。所以从 1 到 N,我们一次取一个数字,然后用 2 取模运算符检查该数字是否为奇数。当余数为 1 时,则为奇数,然后显示该数字,并将其与sum 变量以获得最终总和。这个过程简单易懂。但我们可以想到,奇数总是加2。所以从1开始,如果我们将数字加2,我们只能得到奇数。在这种情况下不需要额外的检查。